葵花宝典 二十二 内外连接

课程回顾
sql语句
sql的分类
DDL
创建数据库 数据表 删除和修改数据库
create drop alter
DML
操作数据 insert update delete
DCL
if
DQL
select
where 后面是不能使用聚集函数的
一般的聚集函数 是要跟group by 一起使用的
group by having 条件 后面可以使用聚集函数的

多表设计 外键约束 必须要有主键
为什么要引入外键的约束?
作用:保证数据完整性
1.可以在表结构中添加
添加外键
alter table emp add foreign key 当前表表名(dno) feferences depf(did);

数据库的设计
一对多 生活下一个部门有多个员工,一个员工对应一个部门
建表原则:在多方的表中添加一个字段,类型必须必须和主键相同,把该字段作为外键,指向一方的主键

多对多
学生可以选择多门课程,课程又可以被多名学生选择
建表原则
拆开两个一对多的关系,中间创建一个中间表,至少有两个字段,这两个字段就作为外键指向两个多对多关系表的主键

一对一(了解)
公司 和地址 一个公司 对应一个地址
一张表搞定
主键对应
唯一外键对应
这里写图片描述

多表查询
笛卡尔积

内连接 用的比较多
普通内连接
前提:需要有外键
提供关键字 inner join …..on
select * from dept inner join emp on dept.did=emp.dno;
隐式内连接
可以不使用 inner join…..on关键字
select * from dept,emp where dept.did=emp.dno;
外链接
左连接
前提:需要外键
语法: 使用关键字 left 【outer】 join ….on
select * from dept left outer join emp on dept.did=emp.dno;

右连接
语法: 使用关键字 right 【outer】 join ….on
select * from dept right outer join emp on dept.did=emp.dno;

区别:左连接,看左表,把左表的数据全部查出来
反之 右连接
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值