叨叨两句

  1. ~

一、多表之间的关系

外键:保证引用的完整性和数据的准确性
添加外键的sql语句:alter table 表名 add foreign key(外键列名) references 主键表名(主键列名)
删除外键的SQL语句:alter table 表名 drop foreign key 外键名
一对多:在多的一方添加一个外键指向一的一方的主键
多对多:创建一张第三方表,该表除了id字段之外,还至少有两个字段分别作为外键指向两张表的主键
一对一:先当成一对多来搞,然后给多的一方的外键字段添加unique约束

二、多表连接查询

1.交叉查询:查询出来的结果集是一个笛卡尔积,有很多错误数据
2.要筛选出正确数据,就要使用连接查询
2.2内连接查询(满足条件则显示,不满足则不显示)

2.2.1隐式内连接
    select * from a,b where a.外键=b.主键
2.2.2显示内连接
    select * from a [inner] join b on a.外键=b.主键

2.3外连接查询(主表的数据全部显示,从表的数据若满足条件则显示若不满足条件则以null显示)

2.3.1左外连接(以join左边的表为主表)
select * from a left [outer] join b on a.外键=b.主键
2.3.2右外连接(以join右边的表为主表)
select * from a right [outer] join b on a.外键=b.主键

2.4子查询(一个select语句中嵌套另外一个select语句,也就是说一个select语句作为另外一个select语句的条件)

2.5联合查询(合并两个select语句查询到的结果集)

union    会去重
union all 不会去重

2.6分页查询 limit a,b a表示开始查询的数据条目的下标 b表示查询多少条数据

a = (curpage-1)*b


Wall_Breaker
2.1k 声望1.2k 粉丝

生死之间,就是我的跃迁之路,全程记录,欢迎见证