数据库设计:
1. 一对一:任意一方建立外键,关联对方主键,并设置外键唯一
2. 一对多:在多的一主建立外键关联一的一方主键
3. 多对多:建立中间表,中间表至少包含两个外键,分别关联双方主键
多表查询:
1. 连接查询:
¤ 内连接:查询交集数据
• 隐式内连接:select 字段列表 from 表1, 表2, ...... where 条件;
注:表1和表2有可能有相同的字段,字段列表可以用表名限定,表1.字段,表2.字段
如表字段列名太长,可以给表起别名:select t1.字段, t2.字段 from 表1 t1, 表2 t2, ...... where 条件;
• 显式内连接:select 字段列表 from 表1 [inner] join 表2 on 条件; 注:inner 可以省略,可以写多条join连接多张表
¤ 外连接:
• 左外连接:查询A表所有数据和交集数据
♦ select 字段列表 from 表1 left [outer] join 表2 on 条件; 注:outer可以省略
• 右外连接:查询B表所有数据和交集数据
♦ select 字段列表 from 表1 right [outer] join 表2 on 条件;
2. 子查询:查询中嵌套查询
• 单行单列:select 字段列表 from 表名 where 字段名 = (子查询);
• 多行单列:select 字段列表 from 表名 where 字段名 in (子查询);
• 多行多列:select 字段列表 from (子查询:结果是一个虚拟表) where 条件;
浙公网安备 33010602011771号