左连接(left join) 右连接(right join) 内连接(inner join) 合并(union/union all)

左连接

-- 下面sql为例,左链接是以aaa表为基准,取出aaa表中的所有信息和符合条件的bbb表中的信息 
SELECT * FROM aaa a LEFT JOIN bbb b ON a.id=b.userId

右连接

-- 下面sql为例,右链接是以bbb表为基准,取出bbb表中的所有信息和符合条件的aaa表中的信息 
SELECT * FROM aaa a right JOIN bbb b ON a.id=b.userId

内连接

-- 下面sql为例,内链接谁都不为基准,只取出符合条件的数据
SELECT * FROM aaa a INNER JOIN bbb b ON a.id=b.userId

注意:在mysql中没有全连接

UNION和UNION ALL

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
注意:
     1、UNION 内部的 SELECT 语句必须拥有相同数量的列。
     2、列也必须拥有相似的数据类型
     3、每条 SELECT 语句中的列的顺序必须相同。
注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。
UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容