SQL99语法

1 内连接

语法

Select 查询列表

From 表1 别名

【Inner】 join 表2 别名 on 连接条件

Where 筛选条件

Group by 分组列表

Having 分组后的筛选

Order by 排序列表

Limit 子句;

特点

①    表的顺序不分主次

②    内连接的结果 = 多表的交集

③    N表连接至少需要n-1个连接条件

分类

       等值连接

       非等值连接

       自连接

 

2 外连接

Select 查询列表

From 表1 别名

LEFT / RIGHT / FULL 【outer】 join 表2 别名 on 连接条件

Where 筛选条件

Group by 分组列表

Having 分组后的筛选

Order by 排序列表

Limit 子句;

特点

①    查询结果 = 主表中所有的行,其中从表和它匹配的将显示匹配行,如果从表没有匹配的则显示null

②    Left join 左边的就是主表,

right join 右边的是主表,

full join 两边都是主表

③    一般用于查询除了交际部分的剩余的不匹配的行

 

3 交叉连接

语法

Select 查询列表

From 表1 别名

cross join 表2 别名;

特点

类似 笛卡尔乘积

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