数据库多表联合查询(高级查询)

数据库多表联合查询

MySQL 子查询

子查询含义:一条select查询语句的结果作为另一条select语句的一部分

被嵌入的select结果 → 子查询 → (查询数据源 | 查询条件)

外部的select结果 → 主查询

  • 查询结果
  • 查询条件

子查询是可以独立存在的语句

子查询可以在一个表中运行

select * from category where cid in (select cid from product where price=(select max(price) from product));

MySQL 连接查询

连接查询是通过关联不同表中的数据获取更全面的信息

内连接:INNER JOIN

  • A和B中同时满足连接条件的数据才会被展示出来
SELECT * FROM student INNER JOIN classes ON student.class_id = classes.id;

左连接:LEFT JOIN

  • 返回左边表中的所有行及右边表中满足连接条件的数据
SELECT * FROM student LEFT JOIN classes ON student.class_id = classes.id;

右连接:RIGHT JOIN

  • 返回右边表中的所有行及左边表中满足连接条件的数据
SELECT * FROM student RIGHT JOIN classes ON student.class_id = classes.id;

全连接:FULL JOIN

  • 左右两边表所有的数据都会被展示(MySQL中使用左连接和右连接UNION合并实现全连接)
SELECT * FROM student LEFT JOIN classes ON student.class_id = classes.id UNION SELECT * FROM student RIGHT JOIN classes ON student.class_id = classes.id;

做题感悟

做题的时候报错,无法找到原因 — 细节上的语法

关于多表连接查询 左边和右边分别是谁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值