约束:
约束是对字段的限制
示例:
多表查询:
多表有三种关系:
一对多;
多对多:
一对一:
多表查询概述:
多表查询即从多张表中查询数据
将多张表拼接,会产生笛卡尔积,如图:
所以多表查询时要加以条件
多表查询分类:
内连接:
内连接,空值无法被查询
语法:
示例:
外连接:
外连接中,空值也会被查询到
语法:
示例:
一般使用左外连接
自连接:
可以是内连接,也可以是外连接
语法:
示例1:
示例2:
没有领导也要查询
联合查询(union,union all)
语法:
示例1:
使用 union all
进行联合查询:
相当于将两次结果集拼接,但是有重复的情况,而且没有顺序
示例2:
使用union
进行联合查询:
可以看到没有重复选项,并且查询结果按照升序排序
注意:
子查询:
语法:
一般子查询的结果,是外层查询的条件
示例:
-- 查询河南省下面的所有城市
SELECT * FROM address WHERE address_regionId=(
SELECT address_regionId FROM address WHERE address_name='河南省')