数据库学习笔记(二)之多表查询

一.约束

1.约束的作用
约束是用来保证数据完整性的,分为单表约束和多表约束
单表约束:主键约束,唯一约束,非空约束
多表约束:外键约束
外键约束是用来保证多表之间数据的完整性;
*当某个表被其他的表外键引用,则直接删除数据 会报错

多表关系

1.一对多的关系
例如:一个部门可以有多个员工,但一个员工只能属于一个部门。
2.多对多的关系
例如:一个学生可以选择多门课程,一门课程也可以被多个学生选择。
3.一对一的关系
例如:一栋房子对应唯一的一个门牌号,一个门牌号也只能对应唯一的一个家庭地址。

多表查询

1.交叉连接查询
查询到的是两个表的笛卡尔积;
语法:select * from 表一 cross join 表二 ;(cross可以省略)
或:select * from 表一 join 表二;
或:select * from 表一,表二;
2.内连接查询
分为显式内连接和隐式内连接(区别在于 用不用inner join关键字)
显式内连接语法:select * from 表一 inner join 表二 on 关联条件;(inner 同样可以省略)
隐式内连接语法:select * from 表一 ,表二 where 关联条件;
3.外连接查询
分为左外连接查询和右外连接查询
左外连接查询:select * from 表一 left outer join 表二 on 关联条件;(outer 可以省略)
右外连接查询:select * from 表一 right outer join 表二 on 关联条件;(outer 可以省略)
4.子查询
一个查询语句的条件需要依赖另一条语句查询的结果;

你可能感兴趣的:(数据库学习笔记(二)之多表查询)