数据准备:
T_Employee为记录员工信息的数据表,其中主键字段FNumber为员工工号,FName为人员姓名,FAge为年龄,FSalary为员工月工资。T_Employee数据表的创建SQL语句:
简单的数据检索
SELECT * FROM T_Employee 与
SELECT FNumber,FName,FAge,FSalary FROM T_Employee >>检索所有的行和列
SELECT FNumber FROM T_Employee >>检索某一列
SELECT FName,FAge FROM T_Employee >>检索某几列
列别名
SELECT FNumber AS Number1,FName AS Name,FAge AS Age,FSalary AS Salary FROM T_Employee 与
SELECT FNumber Number1,FName Name,FAge Age,FSalary Salary FROM T_Employee >>定义别名的时候“AS”不是必须的,是可以省略的
SELECT FNumber 工号,FName 姓名,FAge 年龄,FSalary 工资FROM T_Employee >>若数据库系统支持中文也可定义中文别名
条件过滤
SELECT FName FROM T_Employee
WHERE FSalary<5000
SELECT * FROM T_Employee
WHERE FSalary<5000 OR FAge>25
数据汇总
函数名说明:这几个聚合函数都有一个参数,这个参数表示要统计的字段名
MAX 计算字段最大值
MIN 计算字段最小值
AVG 计算字段平均值
SUM 计算字段合计值
COUNT 统计数据条数
SELECT MAX(FSalary) as MAX_SALARY FROM T_Employee
WHERE FAge>25
SELECT AVG(FAge) FROM T_Employee
WHERE FSalary>3800
SELECT SUM(FSalary) FROM T_Employee
SELECT MIN(FSalary),MAX(FSalary) FROM T_Employee
SELECT COUNT(*),COUNT(FNumber) FROM T_Employee >>:COUNT(*)统计的是结果集的总条数,而COUNT(FName)统计的则是除了结果集中FName 不为空值(也就是不等于NULL)的记录的总条数
排序
SELECT语句允许使用ORDER BY 子句来执行结果集的排序方式
SELECT * FROM T_Employee
ORDER BY FAge ASC >>升序
升序是默认的排序方式,也就是“ASC”是可以省略的,比如下面的SQL 语句具有和上面的SQL 语句等效的执行效果:
SELECT * FROM T_Employee
ORDER BY FAge
SELECT * FROM T_Employee
ORDER BY FAge DESC >>降序
ORDER BY语句允许指定多个排序列,各个列之间使用逗号隔开即可
SELECT * FROM T_Employee
ORDER BY FAge DESC,FSalary DESC >>数据库系统首先按照FAge 字段的降序进行排列,如果按照第一个排序规则无法区分两条记录的顺序,则按照FSalary字段的降序进行排列
对于多个排序规则,数据库系统会按照优先级进行处理。数据库系统首先按照第一个排序规则进行排序;如果按照第一个排序规则无法区分两条记录的顺序,则按照第二个排序规则进行排序
ORDER BY子句完全可以与WHERE子句一起使用,唯一需要注意的就是ORDER BY子句要放到WHERE 子句之后,不能颠倒它们的顺序
SELECT * FROM T_Employee
WHERE FAge>23
ORDER BY FAge DESC,FSalary DESC