SQL多表语句

SQL多表语句

外键

通过主表的主键和从表的外键来描述主外键关系,呈现一对多关系

特点:

  1. 从表外键的值是对主表主键的引用
  2. 从表外键类型.必须与主表主键类型一致

添加外键约束:

 alter table 从表 add [constraint] [外键名称] foreign key(从表外键) references 主表(主表主键);

删除主表绑定的主键:

  1. 删除从表所有和主表主键关联的数据
  2. 删除主表绑定的主键对应的记录

删除从表绑定的外键

alert table 从表 drop foreign key 外键名称

使用外键的目的

保证数据的完整性

建表原则

  1. 一对多: 多的一方建立外键,指向少的一方的主键
  2. 多对多: 需要创建中间表,中间表至少两个字段,分别作为外键指向两张表的主键
  3. 一对一: 基本可以合成一张表
  • 原则1: 外键唯一: 主表的主键和从表的外键(唯一),形成主外键关系,外键唯一unique
  • 原则2: 外键是主键: 主表的主键和从表的主键,形成主外键关系

多表查询

1. 交叉连接查询

select * from 表1,表2;

生成的是两个表的全集(乘积).基本不会使用

2. 内连接查询

关键字:inner join (inner可省略)

  • 显示内连接
select * from 表1,表2 where 条件;
  • 隐式内连接
select * from 表1 inner join 表2 on 条件

查询两个表交集

3. 外连接查询

关键字:outer join(outer可省略)

-左外连接

select * from 表1 left outer join 表2 on 条件;

-右外连接

select * from 表1 right outer join 表2 on 条件;
左右连接区别:
  1. 当没有主外键对应的时候,左表会全部显示,右表不显示没对应关系的记录. 即: 显示左表全部及两个表的交集
  2. 同理 即: 显示右表全部及两个表的交集

4. 子查询

将一条查询语句的结果作为另一条查询语句的一部分.

常见语法:

select * from 表1 where 表1字段=(select * from 表2 where 条件);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值