内连接
、
语法一:
select 列名 , 列名 .... from 表名1,表名2 where 表名1.列名 = 表名2.列名;
语法二:
select*from表名1 innerjoin表名2on条件
左外连接
外链接:左外连接、右外连接、全连接、自连接。 左外连接:用左边表去右边表中查询对应记录,不管是否找到,都将显示左边表中全部记录
右外连接
用右边表去左边表查询对应记录,不管是否找到,右边表全部记录都将显示。
全外连接
全外连接:左外连接和右外连接的结果合并,单会去掉重复的记录。
select * from 表1 full outer join 表2 on 条件
select * from a full outer join b on a.A_ID = b.A_ID; 但是mysql数据库不支持此语法
关联子查询
子查询:把一个sql的查询结果作为另外一个查询的参数存在。
in 表示条件应该是在多个列值中。
in:使用在where后面,经常表示是一个列表中的数据。只要被查询的数据在这个列表中存在即可。
exists:表示存在,当子查询的结果存在,就会显示主查询中的所有数据。
UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)
UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)
case when 语句
case when 语句语法结构:
CASE sex
WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END