一.先来认识几个概念
1.子查询
mysql子查询就是网站建设中,在完整的mysql查询语句里的某个部分,使用完整的查询语句来表的查询方式,比如:select * from 表名 where price>(完整的sql语句)
2.标量子查询
标量子查询就是使用子查询之后得到的结果是子查询的只有一行或一列的数据,具体包括列子查询/行子查询/表子查询三种;一般是查找一个固定的值,比如max/avg/min等
3.常用的子查询使用运算符整理
算术运算符:+ 1 * / %
比较运算符:> >= != 等
逻辑运算符:and or not && ||等
特殊运算符:like 模糊查找 in() 查找几个值得某一个 between()数值之间的 is null is not null
4.列子查询,字面意思,就是查询之后只有一列数据;列子查询通常使用在in的子语句中,突出一列的数据,一般是查询一个字段下的几个多个属性的合集,使用in;
5.行子查询,字面意思,就是查询之后只有一行数据,行子查询通过跟“行构造符”一起,在where条件子句中作为条件数据,一般是查询多个字段的多个属性合集,使用row,如下:
where (字段1,字段2)=(杭子查询得到的某一个值)或者 where row(字段1,字段2)=(行字查询),这里的row其实可以省略;
6.子查询,列子查询,行子查询的区别,如下图:
7.表子查询,当查询数据时多行多列的时候,就是表,这个时候查询出来的数据时作为一个数据源,此时必须给该查询加别名,注意表子查询必须使用别名进行命名
8.子查询里的几个关键字;
1.in关键字,主要代替人为手工输入多个字段内容,in(数值1,数值2,数值3)
2.any关键字 ,一般用在比较操作符后面,表示满足任意条件即可;
3.all关键字,一般用在比较操作符的后面,表示满足所有才算满足;
9.exists子查询,表示查询是否有数据,exist(有数据),则表示真,没有则假,写法为:
where exists(任意子查询)
本文关键词:
mysql 标量子查询 未经允许不得转载:郑州网站建设|郑州网站制作|荥阳网站建设|巩义网站建设|网站优化-全栈网络