SQL面试题及详细答案150道(61-80) --- 多表连接查询篇
《前后端面试题
》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux… 。
文章目录
- 一、本文面试题目录
-
-
- 61. 什么是内连接(INNER JOIN)?写出基本语法。
- 62. 什么是左连接(LEFT JOIN)?与内连接的区别是什么?
- 63. 什么是右连接(RIGHT JOIN)?写出一个右连接示例。
- 64. 如何使用自连接查询“员工及其直接上级”?
- 65. 有员工表(employees)和部门表(departments),如何查询“每个员工的姓名和所属部门名称”?
- 66. 有订单表(orders)和用户表(users),如何查询“所有订单及其对应的用户名(包括无对应用户的订单)”?
- 67. 有学生表(students)、课程表(courses)、成绩表(scores),如何查询“每个学生的姓名、课程名和分数”?
- 68. 如何使用三表连接查询“2023年销售额最高的商品类别”?
- 69. 如何查询“没有下过订单的用户”?(使用LEFT JOIN + IS NULL)
- 70. 如何查询“既买过商品A又买过商品B的用户”?
- 71. 如何查询“每个部门的平均工资,包括没有员工的部门(平均工资显示为0)”?
- 72. 如何使用连接查询替代子查询,查询“工资高于公司平均工资的员工”?
- 73. 有表A(id, name)和表B(id, age),如何查询“id在两表中都存在的记录”?
- 74. 如何查询“表A中有但表B中没有的id”?
- 75. 如何查询“每个用户的最近一次订单时间”?
- 76. 如何查询“每个商品的销售总量和总金额”?
- 77. 如何查询“部门位于'北京'且工资大于8000的员工”?(多表条件)
- 78. 如何使用USING简化连接查询?(例如:两表有相同字段id时)
- 79. 如何查询“每个部门的员工人数、平均工资、最高工资”?
- 80. 如何查询“与'张三'在同一个部门的员工”?(自连接)
-
- 二、150道面试题目录列表
一、本文面试题目录
61. 什么是内连接(INNER JOIN)?写出基本语法。
- 原理说明:内连接(INNER JOIN)是最常用的连接方式,只返回两个表中满足连接条件的记录。即只有当两个表中存在匹配的行时,才会被包含在结果集中。
- 基本语法:
SELECT 字段列表