时间: 2020-11-26|25次围观|0 条评论

from

把内层的查询结果作为外层查询比较查询

例:查最新商品(以 goods_id最大为最新)

1 select * from goods where goods_id = 最大的gooods_id;

2 select * from goods where goods_id = (select max(goods_id) from goods);

 

 

 

 

where  表达式则取出哪一行

 

表达式在哪一行成立

  =,!= ,<,><=,>=

  in ,between and

  or,and,not

 

having  表达式

数据在表中,表在硬盘或者内存中以文件的形式存在

where就是针对文件发生作用

查询结果,也可以看做是一张表,去文件一般临时存在于缓冲区

having 就是针对查询结果发挥着作用

 

 

group by

分组 一般和统计函数(sum ,avg,min,max)结合使用

 

order by

 

默认是升序的

如果想显示声明升序排列  可用asc来声明

 

可以"字段名" desc 来声明降序排

可以用来查询商品等价格 以及新旧

 

注:可以按照多条件排序,前面的条件优先!!

 

order by 1  [asc/desc], 2 [asc/desc];

 

 

 

exists

把外层的查询结果代入内层,看内层是否成立

 

查询商品栏目

select * from category where exists(select * from goods where goods.cat_id =

 

categor.cat_id);

 

cat_id字段相同  需要加上表前缀

 

limit

在语句的最后  起到限制显示结果条目个数

 

limit [offset,][N];

offset表示偏移量(跳过几个)

N 表示取出的条目个数

 

如果offset不写  相当于0

 

 

# mysql   表示 注释

结合使用示例:

where型

 mysql 子查询(完整)插图

having +as 的应用


mysql 子查询(完整)插图
 以下三种查询效果等效:
(左连接 /exists/内连接)


mysql 子查询(完整)插图

mysql 子查询(完整)插图

 

 

原文链接:https://blog.csdn.net/w605283073/article/details/46572523

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《mysql 子查询(完整)
   

还没有人抢沙发呢~