一、内连接查询
1.查询原理
内连接查询的是两张表有交集的部分数据(有主外键关联的数据)
2.查询语法
显式内连接
SELECT 列名 FROM 表名1 INNER JOIN 表名2 ON 条件;
隐式内连接
SELECT 列名 FROM 表名1,表名2 WHERE 条件;
二、外连接查询
1.左外连接
查询原理
查询左表的全部数据,和左右两张表有交集部分的数据。
查询语法
SELECT 列名 FROM 表名1 LEFT OUTER JOIN 表名2 ON 条件;
2.右外连接
查询原理
查询右表的全部数据,和左右两张表有交集部分的数据。
查询语法
SELECT 列名 FROM 表名1 RIGHT OUTER JOIN 表名2 ON 条件;
三、子查询
1.子查询概念
查询语句中嵌套了查询语句,我们就将嵌套的查询称为子查询。
2.结果是单行单列的
查询作用
可以将查询的结果作为另一条语句的查询条件,使用运算符判断。= >= < <=
查询语法
SELECT 列名 FROM 表名 WHERE 列名 = (SELECT 列名 FROM 表名 WHERE 条件);
3.结果是多行单列
查询作用
可以作为条件,使用运算符IN或NOT IN进行判断。
查询语法
SELECT 列名 FROM 表名 WHERE 列名 [NOT] IN (SELECT 列名 FROM 表名 WHERE 条件);
4.结果是多行多列
查询作用
查询的结果可以作为一张虚拟表参与查询。
查询语法
SELECT 列名 FROM 表名[别名],(SELECT 列名 FROM 表名 WHERE 条件)[别名] WHERE 条件;
四、自关联查询
自关联查询概念
在同一张表中数据有关联性,我们可以把这张表当成多个表来查询。