mysql build_MySQL系列(4)

我是谁?勇吉拉

40.多对多关系创建

老师表,学生表,关系表

外键约束在的时候,无法删除被引用的表。

41.为什么拆分表

避免大量冗余数据的出现,表与表的结构会更加清晰。

42.合并结果集 union 与union all

多表查询之合并结果集:把2个select的查询结果合并到一起。union合并时去除重复记录,union all 合并时不去重。

注意:被合并的两个结果,列数,列类型必须相同

43.笛卡尔集现象

连接查询:跨表查询,需要关联多个表进行查询

笛卡尔集:集合(a,b),集合(1,2),笛卡尔积为(a,1),(a,2),(b,1),(b,2)

同时查询两个表出现的是笛卡尔集的结果。

44.去除笛卡尔集

查询时表后面加别名,就可以起别名。

逐行判断,id相等才提取。

45.内连接之等值连接

外键约束添加数据,不约束查询数据

等值连接:inner join/join ,去笛卡尔集的另外一种写法

还有多表连接、非等值连接、自连接

46.左连接left join

保留左边表所有数据,右边只查出满足条件的内容

47.右连接right join

与左连接相反,保留右边表所有数据,左边只查出满足条件的内容

48.多表联查

多对多,三表联查,先2个表连接,再把连接的结果和第三个表连接

99查询法

内连接

49.非等值连接准备数据

on之后可以不跟等号,就是非等值连接

建3张表

50.非等值连接实现

99查询

内连接查询

51.自然连接

连接查询会产生无用的笛卡尔集,常用主外键去除,自然连接无需给出主外键等式,会自动找到这一等式。

要求:两张表中列名称和类型完全一致;会去除相同的列。

52.navicat中query build简洁

创建好外键联系后,可以在查询-》查询创建工具(query build),可以可视化显示。还可以用点点点查询数据,并自动生成select语句

参照完整性是为了防止数据输入的错误,查询的时候关系不大。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值