内容正文:
MySQL数据库应用开发
单元5 MySQL数据查询
任务5.1 MySQL数据查询——单表查询
单表查询
知识点小结
本章实验
复习
数据插入、修改和删除的命令
任务5.1 MySQL数据查询
能力目标
1.掌握简单查询(重点);
2.掌握条件表达式的使用和模糊查询(难点)。
思政目标
1.培养精益求精的工作作风;
2.锻炼团结协作的工作能力。
单表查询
SELECT语法:
SELECT语句是在所有数据库操作中使用频率最高的SQL语句。
SELECT语句的语法格式如下:
SELECT select_expr [, select_expr ...]
FROM table_references
[WHERE 条件]
[GROUP BY {col_name | position} [ASC | DESC], ... 分组]
[HAVING 条件 对分组结果进行二次筛选]
[ORDER BY {col_name | position} [ASC | DESC], ...排序]
[LIMIT 限制显示条数]
其中[]内的内容是可选的
5
单表查询(续)
SELECT子句:
指定要查询的列名称,列与列之间用逗号隔开。
还可以为列指定新的别名,显示在输出的结果中。
ALL关键字表示显示所有的行,包括重复行,是系统默认的
DISTINCT表示显示的结果要消除重复的行。
FROM子句:指定要查询的表,可以指定两个以上的表,表与表之间用逗号隔开。
WHERE子句:指定要查询的条件。
如果有WHERE子句,就按照“条件表达式”指定的条件进行查询;
如果没有WHERE子句,就查询所有记录。
单表查询(续)
GROUP BY :子句用于对查询结构进行分组。
按照“列名1”指定的字段进行分组;
如果GROUP BY子句后带着HAVING关键字,那么只有满足“条件表达式2”中指定的条件的才能够输出。
GROUP BY子句通常和COUNT()、SUM()等聚合函数一起使用。
HAVING子句:指定分组的条件,通常放Group by字句之后
ORDER BY子句:用于对查询结果的进行排序。
排序方式由ASC和DESC两个参数指出;
ASC参数表示按升序进行排序。默认情况下是ASC。
DESC参数表示按降序的顺序进行排序。升序表示值按从小到大的顺序排列。
LIMIT 子句:限制查询的输出结果的行数。
简单查询
演示查询,创建几张表:
专业表(specialty)
简单查询
课程表(course)
简单查询
学生表(student)
简单查询
选修表(sc)
简单查询
1. 查询所有字段:查询表中的所有字段的数据
两种方式:
一种是列出表中的所有字段
另一种是使用通配符*来查询
例:查询学生的所有信息
方式1: SELECT zno,sclass ,sno,sname,ssex,sbirth FROM student;
方式2: SELECT * FROM student;
简单查询
2. 指定字段查询
例:查询学生的学号和姓名。SELECT sno,sname FROM student;
简单查询
3. 避免重复数据查询
DISTINCT关键字可以去除重复的查询记录。和DISTINCT相对的是all关键字,即显示所有的记录(包括重复的),而all关键字是系统默认的,可以省略不写。
例:查询在student表中的班级。
SELECT sclass FROM student;
SELECT DISTINCT sclass FROM student;
简单查询
3. 避免重复数据查询(续)
简单查询
4. 为表和字段取别名
当查询数据时,MySQL会显示每个输出列的名称。默认的情况下,显示的列名是创建表时定义的列名。
SELECT [ ALL | DISTINCT] <目标列表达式> [AS] [别名] [ , <目标列表达式> [AS] [别名] ] . . .
FROM <表名或视图名> [别名] [ , <表名或视图名>[别名] ] . . .
AS可以省略,但是不建议省略。
例:查询学生的学号,成绩。并指定返回的结果中的列名为学号,成绩,而不是sno和grade。
SELECT sno '学号',grade '成绩' FROM sc;
简单查询
4. 为表和字段取别名(续)
$