数据查询

一.简单查询

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。