一.简单查询
1.查询表中全部数据
SELECT * FROM 表名
2.查询指定的数据
SELECT 字段1,字段2,字段3,...... FROM 表名
3.使用TOP关键字查询
n:表示返回多少行
PERCENT:表示从结果集中返回指定的百分比数目的行
SELECT TOP[n | PERCENT]* FROM 表名
4.查询的列为表达式
SELECT name.price AS '原价',price * 0.8 AS '折扣价' FROM fruit
5.对查询结果排序
--按price列进行降序排列
SELECT * FROM fruit ORDER BY price DESC
6.对查询的结果分组
GROUP BY子句通畅和集合函数一起使用。如:MAX()、MIN()、AVG()、COUNT()、SUM()。
--以e_job列进行分组
select e_job,COUNT(*)AS Total from employee
GROUP BY e_job
7.对分组结果进行过滤
GROUP BY可以和HAVING一起限定显示记录所需满足的条件,只有满足条件的分组才会被显示。
--以e_job列进行分组,使用HAVING关键字查询出e_job='SALESMAN'行
select e_job,COUNT(*)AS Total from employee
GROUP BY e_job
HAVING e_job='SALESMAN'
二.条件查询
1.使用关系表达式查询
--查询出满足price=5.6的行
SELECT * FROM fruit WHERE price =5.6
2.使用BETWEEN AND范围查询
--查询出e_salary在2000-2500区间的行
SELECT * FROM employee WHERE e_salary BETWEEN 2000 AND 2500
3.使用IN关键字查询
--查询出e_no为1002和1004的行
SELECT * FROM employee WHERE e_no in(1002,1004)
4.使用LIKE关键字查询
--查询出以'S'开头的行
SELECT * FROM employee WHERE e_job LIKE 'S%'
--_表示单个字符,查询符合CLE_K的行
SELECT * FROM employee WHERE e_job LIKE 'CLE_K'
--查询内容中含有'C'和'S'的行
SELECT * FROM employee WHERE e_job LIKE '%[cs]%'
--查询开头不含'S'的行
SELECT * FROM employee WHERE e_job LIKE '[^s]%'
5.使用IS NULL查询空值
SELECT * FROM employee WHERE e_salary IS NULL
三.聚合函数实现统计查询
1.求列的和
--所有行e_salary值的和
SELECT SUM(e_salary)SUM_salary FROM employee
2.求列的平均值
--所有行e_salary值的平均值
SELECT AVG(e_salary)AVG_salary FROM employee
3.求列的最大值
--所有行e_salary值的最大值
SELECT MAX(e_salary)MAX_salary FROM employee
4.求列的最小值
--所有行e_salary值的最大值
SELECT MIN(e_salary)MIN_salary FROM employee
5.统计
--COUNT(*):计算表中总行数,不管某列有值或为空
--COUNT(字段名):计算指定列的行数,空值字段将不计入其中
SELECT COUNT(*) FROM employee