Cat-God-007

导航

(三)数据结构化查询语言(高级用法)

(三)数据结构化查询语言(二)

1.排序查询Order By子句

语法:select ...from t2 [where子句][order by 子句]
格式: order by 列名 asc|desc
asc:升序排列 默认就是升序 所以可以省略
desc:降序排列
永远sql语句的最后

2.distinct 去除重复

只能指定一个字段,指定多个字段是distinct无效,必须在selcet后。

无效:SELECT DISTINCT price,name FROM t2 ORDER BY price
有效:SELECT DISTINCT price FROM t2 ORDER BY price

3.分组查询Group By子句

我们做的查询都是横向查询,它们都是根据条件一行一行的进行判断,而使用聚合函数查询是纵向查询,它是对一列的值进行计算,然后返回一个单一的值;
另外聚合函数会忽略空值。因此,有时候需要使用函数:ifnull(字段1,vlaue)(如果字段1对应的值不是null,就使用原来的值;否则,就使用value值)

语法:select ... from name [where 条件] [group by 子句] [order by子句]
格式: group by 字段1,字段2;

五个聚合函数
count:统计指定列不为NULL的记录行数;
sum:计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
max:计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
min:计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
avg:计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
例:
查询以部门ID为分组员工的平均工资

select deptid,avg(mony) as av from t2 group by deptid;

4.分组查询添加条件Having子句

在分组查询时,可能需要使用条件进行过滤,having子句可以使用在聚合函数后。
例:
查询以部门ID为分组员工的平均工资并且大于4000的部门

select deptid,avg(mony) as av from t2
group by deptid having avg(mony)>4000;

基本查询总结
基本查询子句有:select子句,from子句,where子句,group by子句,having子句,order by子句
完整的查询语句

select...from...[wher...][group by...][having...][order by...] 

执行顺序

from子句--where子句--group by子句--having子句--select子句--order by子句

高级关联查询

有的时候,我们要查询的数据, 一个简单的查询语句满足不了,并且我们使用的数据,表中不能直观体现出来。
而是预先经过一次查询才会有所体现。那么先执行的查询,我们称之子查询。被子查询嵌入的查询语句称之为父查询。
子查询返回的数据特点:
(1) 可能是单行单列的数据。
(2) 可能是多行单列的数据
(3) 可能是单行多列的数据
(4) 可能是多行多列的数据
子查询可以在where,from,having,select子句中,在select中相当外连接的另一种写法吧!
例:
查询表中各部门人员中大于部门平均工资的人

select name,mony,a.deptid,b.av 
from t2 a,
(select deptid,avg(ifnull(mony,0)) as av from t2 group by deptid)
where a.deptid=b.deptid and a.mony>b.av
order by deptid ASC;

其他例子:
如果时间的类型是date,则使用符号比较大小

SELECT empno,ename,hiredate FROM emp 
WHERE hiredate > '1981-02-01' AND hiredate < '1987-05-01';

查询结果是表达式(运算查询):将所有商品的价格+10元进行显示

select  pname,price+10  from  product;

商品没有分类的商品

SELECT * FROM product WHERE category_id IS NULL;

查询有分类的商品

SELECT * FROM product WHERE category_id IS NOT NULL;

(三)数据结构化查询语言(值得学习)

在这里插入图片描述

感谢大家,点赞,收藏,关注,评论!

posted on 2022-04-14 09:12  成果和地方  阅读(7)  评论(0编辑  收藏  举报  来源