MySQL 6.子查询
子查询:
- 子查询指嵌套在查询内部,且必须始终出现在圆括号内
- 子查询可以包含多个关键字或条件,如DISTINCT、GROUP BY 、ORDER BY、LIMIT、函数等
- 子查询的外层查询可以是我们所知道的所有的SQL命令的统称。
一下Demo基于此表结构,具体信息就不做展示:
1 CREATE TABLE tdb_goods( 2 goods_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, 3 goods_name VARCHAR(150) NOT NULL, 4 goods_cate VARCHAR(40) NOT NULL, 5 brand_name VARCHAR(40) NOT NULL, 6 goods_price DECIMAL(15,3) UNSIGNED NOT NULL DEFAULT 0, 7 is_show BOOLEAN NOT NULL DEFAULT 1, 8 is_saleoff BOOLEAN NOT NULL DEFAULT 0 9 );
View Code
SQL又叫结构化查询语言
下面例子中SELECT * FROM table1称为Outer Query/ Out Statement
SELECT col2 FROM table2 称为 SubQuery
1 SELECT * FROM tdb_goods WHERE brand_name = (SELECT brand_name FROM tdb_goods);
子查询可以返回标量、一行、一列或子查询
子查询产生的情况比较多但总共分为三类
- 1.使用比较运算符的子查询(=、>、<、>=、<=、!=、<>、<=>)
ROUND(AVG(goods_price),2):求goods_price的平均数,并将其四舍五入保留小数点的两位
1 SELECT goods_id, goods_name, goods_price FROM tdb_goods WHERE goods_price >= (SELECT ROUND(AVG(goods_price),2) FROM tdb_goods);
子查询Demo
ANY、SOME、ALL:ANY和SOME等价相当于任何一个即可,ALL则是所有的
Demo:查找出价格大于所有超级本的商品
1 SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price > ALL (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本');
- 2.使用NOT IN 与 IN 的子查询
=ANY运算符与IN等效
!=ALL与NOT IN 等效
- 3.使用EXISTS产生的子查询(如果子查询返回任何行,EXISTS将返回TRUE,否则返回FALSE)此种方法不常用
转载于:https://www.cnblogs.com/gzc911/p/4945658.html
MySQL 6.子查询相关推荐
- MySQL 行子查询
MySQL 行子查询 行子查询是指子查询返回的结果集是一行 N 列,该子查询的结果通常是对表的某行数据进行查询而返回的结果集. 一个行子查询的例子如下: SELECT * FROM table1 WH ...
- 浅谈mysql的子查询
2019独角兽企业重金招聘Python工程师标准>>> mysql的子查询的优化一直不是很友好,一直有受业界批评比较多,也是我在sql优化中遇到过最多的问题之一,mysql在处理子查 ...
- 生产库中遇到mysql的子查询
使用过oracle或者其他关系数据库的DBA或者开发人员都有这样的经验,在子查询上都认为数据库已经做过优化,能够很好的选择驱动表执行,然后在把该经验移植到mysql数据库上,但是不幸的是,mysql在 ...
- mysql怎么子查询_在mysql中如何进行子查询?
在mysql中,子查询是指将一个查询语句嵌套在另一个查询语句中,可以在SELECT.UPDATE和 DELETE语句中配合WHERE子句进行实现,WHERE子句中语法格式为"WHERE (另 ...
- MySQL子查询的优缺点_浅谈mysql的子查询
浅谈mysql的子查询 mysql的子查询的优化一直不是很友好,一直有受业界批评比较多,也是我在sql优化中遇到过最多的问题之一,你可以点击这里 ,这里来获得一些信息,mysql在处理子查询的时候,会 ...
- Mysql之子查询20221016
Mysql之子查询20221016 子查询案例: 子查询案例: 子查询:谁的工资比Abel的高 SELECT last_name,salary FROM employees WHERE salary ...
- mysql表子查询(嵌套查询)
mysql表子查询(嵌套查询): 1.什么是子查询: 子查询是指嵌入在其它 sql 语句中的 select 语句,也叫嵌套查询 -- 如何显示与 SMITH 同一部门的所有员工? -- 1.先查出sm ...
- mysql嵌套子查询索引_SQL 子查询,索引优化
场景 索引优化 单列索引 多列索引 索引覆盖 排序 场景 我用的数据库是mysql5.6,下面简单的介绍下场景 课程表 create table Course( c_id int PRIMARY KE ...
- MySQL 嵌套子查询 with子句 from子查询 in子查询 join子查询
一.适用场景和方法 (1)适用场景 考虑查询过程中是否存在以下情况: 查询某些数据时需要分组才能得到,某些数据不需要分组就能得到或者分组条件不同: 查询某些数据时需要where条件,某些列不需要whe ...
- mysql 新建子查询_Mysql创建SQL子查询ALIAS
通常这些被称为视图.例如: CREATE VIEW vMyLongQuery AS SELECT a, b, c FROM (LONG QUERY) X WHERE ... 然后可以像这样引用: SE ...
最新文章
- python 中*args 和 **kwargs的区别
- 微生物领域SCIE期刊分析(英美各40本,中国大陆0本)
- Linux_SystemLogManager
- svn的一些相关资料
- 蓝牙杂散超标_杂散发射
- 在OR项目中使用火焰图
- 非科班通过几个月的培训入行人工智能现实吗?
- sublime text实现函数跳转(window环境)
- STM32的ADC采集的引脚汇总
- android listview 选中状态,Android:在ListView打开时将项目设置为选中状态?
- linux shell 变量命令,shell - 如何在Bash中将变量设置为命令的输出?
- @程序员,这 TOP 11 物联网云平台速码!
- 黄海造船周身流动的信息化血液
- LETTers比赛第三场 --1002 Ignatius and the Princess III解题报告
- 无线性能优化:FPS 测试
- Linux 基础入门---常用命令
- Oracle数据库CDB与PDB
- 美团校招php笔试题,2018 美团校招笔试题详解
- 《带您走进西藏》网课章节测验及答案
- 白天黑夜、中午和傍晚的固定配色绘画技巧