多表查询

多表查询:

语法:select

列名列表

from

表名列表

where

....

/*查询结果称为笛卡尔积:笛卡尔乘积是指在数学中,两个[集合]*X*和*Y*的笛卡尔积(Cartesian product),
又称[直积],表示为*X* × *Y*,第一个对象是*X*的成员而第二个对象是*Y*的所有可能[有序对]的其中一个成员。
*/
 

多表查询的分类:

1.内连接查询:

1.隐式内连接:使用where条件消除无用数据;

2.显式内连接:

语法:select 字段列表 from 表名1 【inner】 join 表名2 on 条件;

3.注意事项:从哪些表中查询数据、条件是什么、查询哪些字段。

查询的是交集部分。

2.外连接查询:

1.左外连接:select 字段列表 表一 left [outer] join 表二 on 条件;

  查询的是左表的所有数据与交集部分;

2.右外连接:select 字段列表 表一 right [outer] join 表二 on 条件;

  查询的是右表的所有数据与交集部分;

3.子查询

概念:查询中嵌套查询,成嵌套查询为子查询。

2.子查询的不同情况:

a.子查询的结果是单行单列的:

子查询可以作为条件,使用运算符(>、<、=)去判断。

b.子查询的结果是多行单列的:

子查询可以作为条件,使用运算符(in)去判断。

c.子查询的结果是多行多列的:

子查询可以作为一张虚拟表。

原文地址:https://www.cnblogs.com/susexuexi011/p/14353716.html