一 点睛
DQL(Data Query Language 数据查询语言),存在的意义。
-
查询数据库数据,如SELECT语句。
-
简单的单表查询或多表的复杂查询和嵌套查询。
-
是数据库语言中最核心,最重要的语句。
-
使用频率最高的语句。
二 SELECT 语法
SELECT [ALL | DISTINCT]
{* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,...]]}
FROM table_name [as table_alias]
[left | right | inner join table_name2] -- 联合查询
[WHERE ...] -- 指定结果需满足的条件
[GROUP BY ...] -- 指定结果按照哪几个字段来分组
[HAVING] -- 过滤分组的记录必须满足的次要条件
[ORDER BY ...] -- 指定查询记录按一个或多个条件排序
[LIMIT {[offset,]row_count | row_countOFFSET offset}];
-- 指定查询的记录从哪条至哪条
注意 : [ ] 代表可选 , { }代表必选。
三 指定查询字段
-- 查询表中所有的数据列结果 , 采用 * 符号; 但是效率低,不推荐使用。
-- 查询所有学生信息
SELECT * FROM student;
-- 查询指定列(学号 , 姓名)
SELECT studentno,studentname FROM student;
四 AS 子句作为别名
1 作用
-
可给数据列取一个新别名
-
可给表取一个新别名
-
可把经计算或总结的结果用另一个新名称来代替
2 实战
-- 这里是为列取别名(当然as关键词可以省略)
SELECT studentno AS 学号,studentname AS 姓名 FROM student;
-- 使用as也可以为表取别名
SELECT studentno AS 学号,studentname AS 姓名 FROM student AS s;
-- 使用as,为查询结果取一个新名字
-- CONCAT()函数拼接字符串
SELECT CONCAT('姓名:',studentname) AS 新姓名 FROM student;
五 DISTINCT关键字使用
1 作用
去掉SELECT查询返回的记录结果中重复的记录 ( 返回所有列的值都相同 ) , 只返回一条
2 实战
-- 需求:查看哪些同学参加了考试(学号) 去除重复项
SELECT * FROM result; -- 1 查看考试成绩
SELECT studentno FROM result; -- 2 查看哪些同学参加了考试
SELECT DISTINCT studentno FROM result; --3 去重
六 使用表达式的列
1 数据库中的表达式定义
一般由文本值,列值,NULL,函数和操作符等组成。
2 应用场景
-
SELECT语句返回结果列中使用。
-
SELECT语句中的 ORDER BY , HAVING 等子句中使用。
-
DML语句中的 where 条件语句中使用表达式。
3 实战
-- selcet查询中可以使用表达式
SELECT @@auto_increment_increment; -- 查询自增步长
SELECT VERSION(); -- 查询版本号
SELECT 100*3-1 AS 计算结果; -- 表达式
-- 学员考试成绩集体提分一分查看
SELECT studentno,StudentResult+1 AS '提分后' FROM result;