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型
having +as 的应用
以下三种查询效果等效: (左连接 /exists/内连接)