分类:内连接查询(显式和隐式)、外连接查询(左外连接和右外连接)、子查询
department表:
employee表:
1. 内连接查询
隐式内连接:
SQL:
执行结果:
使用说明:
显式内连接:
内连接查询使用注意事项:
2. 外连接查询(左右外连接原理相同)
左外连接(使用较多):
示例:
右外连接(使用较少):
示例:
左右外连接使用说明:
-----------------------------------------++++++++++++++++___________________—————
dept表:
emp表:
3. 子查询:
查询中嵌套查询, 称嵌套查询为子查询。
例子:查询工资最高的员工信息(一条语句实现)
sql语句:
*select from emp where emp.salary = (select max(salary) from employ);
查询结果:
子查询不同情况讨论:
(1)例子:查询员工工资小于平均工资的人的信息:
子查询的结果是单行单列的:(子查询可以作为条件, 使用运算符去判断)
sql语句:
查询结果:
(2)例子:查询员工所属部门为开发部或项目部的人的信息:
子查询的结果是多行单列的(子查询可以座位条件,使用运算符in来判断)
sql语句:
查询结果:
(3)例子:查询员工性别是男性的员工信息和部门信息:
子查询的结果是多行多列的(子查询可以作为一张虚拟表)
sql语句:
执行结果:
若不加where则会查询出两个表的符合条件的所有内容: