发布时间:2023-05-08 18:30
select 字段1[,…] from 表1[ inner] join 表2 on 连接条件;
select 字段1[,…] from 表1 left join 表2 on 连接条件;
select 字段1[,…] from 表1 right join 表2 on 连接条件;
假设集合A={a,b},集合B={1,2,3},则两个集合的笛卡尔积为{(a,1),(a,2),(a,3),(b,1),(b,2),(b,3)}
select 字段1[,…] from 表1,表2[,…];
select 字段1[,…] from 表1 cross join 表2[,…];
消除笛卡尔积:
逐行判断,相等的留下,不相等的排除
select 字段1[,…] from 表1,表2[,…] where 筛选条件;
通过设置表别名,将同一张表虚拟为多张表进行连接
select * from tabel a inner join table b
on a.id = b.id
把多条select语句的查询结果合并为一个结果集
被合并的结果集的列数、顺序和数据类型必须完全一致
#select 字段1[,字段2,…] from 表名 union select 字段1[,字段2,…] from 表名;
select * from t1 union select * from t2;
#select 字段1[,字段2,…] from 表名 union all select 字段1[,字段2,…] from 表名;
select * from t1 union all select * from t2;
表1.id=表2.id
表1.id 比较 表2.id