课 程 推 荐 我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)教程合集 👈👈 Oracle数据库教程:👉👉 Oracle数据库教程合集 👈👈 MySQL数据库教程:👉👉 MySQL数据库教程合集 👈👈 优 质 资 源 下 载 :👉👉 资源下载合集 👈👈 优 质 教 程 推 荐:👉👉 Python爬虫从入门到入狱系列 合集 👈👈 .
MySQL_子查询
- 子查询
子查询
- 带in关键字的子查询
- 带比较运算符的子查询
- 带Exists关键字的子查询
- 带Any关键字的子查询
- 带All关键字的子查询
- 基于t_book、t_bookType表新增表格t_pricelevel
CREATE TABLE t_pricelevel (id INT PRIMARY KEY AUTO_INCREMENT ,priceLevel INT ,price FLOAT ,description VARCHAR (300) ); INSERT INTO t_pricelevel (id, priceLevel, price, description) VALUES('1','1','80.00','价格贵的书'); INSERT INTO t_pricelevel (id, priceLevel, price, description) VALUES('2','2','60.00','价格适中的书'); INSERT INTO t_pricelevel (id, priceLevel, price, description) VALUES('3','3','40.00','价格便宜的书');
- 带in关键字的子查询
- 指定关键字在某个范围内
SELECT * FROM t_book WHERE booktypeid IN (SELECT id FROM t_booktype)SELECT * FROM t_book WHERE booktypeid NOT IN (SELECT id FROM t_booktype)
- 带比较运算符的子查询
SELECT * FROM t_book WHERE price>=(SELECT price FROM t_pricelevel WHERE priceLevel=1)
- 带Exists关键字的子查询
- 假如子查询查询到记录,则进行外层查询,否则,不执行外层查询
- 其实就是判断,判断子查询是否有返回值,有返回值则执行前面的语句
SELECT * FROM t_book WHERE EXISTS (SELECT * FROM t_bookType)SELECT * FROM t_book WHERE NOT EXISTS (SELECT * FROM t_bookType)
- 带Any关键字的子查询
-- ANY 关键字表示满足其中任一条件 SELECT * FROM t_book WHERE price>= ANY(SELECT price FROM t_pricelevel)-- 子查询的结果为多个元素的集合,所以不能直接用>= -- 添加ANY,只要price大于等于集合中的任何一个元素即可
- 带All关键字的子查询
-- ALL 关键字表示满足所有条件 SELECT * FROM t_book WHERE price>= ALL(SELECT price FROM t_pricelevel)-- price必须大于子查询返回的集合中所有元素