数据检索关键字备忘
DICTINCT 关键字
用户在对数据库进行查询时 会出现重复结果 这时就需要使用 DISTINCT 关键字消除重复部分
use pangu
select distinct dept_id
from employee
where e_wage > 7000
IN 关键字
在使用 WHERE 子句进行查询时 若条件表达式中出现若干条件相同的情况 就会使表达式显得冗长 不便于用户使用 这时可用 IN 关键字来简化
use pangu
select e_name
from employee
where dept_id in (’1001’,’1002’)
选取前几行数据
在 SELECT 语句中使用 TOP n 或 TOP n PERCENT 来选取查询结果的前 n 行或前百分之 n 的数据 此语句经常和 ORDER 子句一起使用
use pangu
select top 3 e_name, e_wage
from employee
order by e_wage desc
WITH { CUBE | ROLLUP }选项
使用这两个选项可以格外返回按组统计的数据行 与 CUBE 不同的是 ROLLUP 选项只返回最高层的分组列 即 第一个分组列 的统计数据,cube分别按各分组进行统计,rollup只按照第一个分组列进行统计
use pangu
select firm_id, p_id, sum(o_price*o_quantity) as sum_value
from orders
group by firm_id, p_id
with cube| rollup
HAVING 子句
HAVING 子句用来选择特殊的组 它将组的一些属性与常数值进行比较 如果一个组满足 HAVING 子句中的逻辑表达式 它就可以包含在查询结果中
例 查询有多个员工的工资不低于 6000 的部门编号
use pangu
select dept_id, count(*)
from employee
where e_wage >= 6000
group by dept_id
having count(*) > 1
运行结果如下
dept_id
------- -----------
1005 2
1007 3

浙公网安备 33010602011771号