MySQL Workbench MySQL数据库应用 河南中医药大学信息技术学院王昂 2019.02
河南中医药大学信息技术学院 王昂 2019.02
MySQL ●000 第三章 MySQL查询和视图 主讲内容:SQL查询、视图 MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第2页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 2 页 第三章 MySQL查询和视图 主讲内容:SQL查询、视图
●000 教学内容 MySQL 1. MySQL数据库的单表查询 2. MySQL数据库的连接查询 3. MySQL数据库的嵌套查询 4. MySQL数据库的集合查询 5.管理MySQ视图 MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第3页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 3 页 教学内容 1. MySQL数据库的单表查询 2. MySQL数据库的连接查询 3. MySQL数据库的嵌套查询 4. MySQL数据库的集合查询 5. 管理MySQL视图
·· SELECT语法格式 MySQL · SELECT语句可以从一个或多个表中选取特定的行和列, 结果通常是生成一个临时表 SELECT语法格式 SELECT [all distinct distinctrow] *|列名,…表达式] FROM表1表2 [WHERE条件 [ GROUP BY{列名表达式列顺序[ HAVING条件]] [ ORDER BY{列名|表达式列顺序}[asc|desc],… [LIMIT MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第4页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 4 页 SELECT语法格式 • SELECT语句可以从一个或多个表中选取特定的行和列, 结果通常是生成一个临时表。 • SELECT语法格式: SELECT [all |distinct |distinctrow] * |列名,…[表达式] FROM 表1[,表2,…] [WHERE 条件] [GROUP BY {列名|表达式|列顺序} [ HAVING 条件] ] [ORDER BY {列名|表达式|列顺序} [asc|desc] ,……] [LIMIT …… ]
MySQL ·。1. MySQL数据库的单表查询 ·对列的查询(选择表中的若干列) 对行的查询(选择表中的若千元组) 对查询结果排序(使用 order by字句) ·对查询结果进行计算(使用聚合函数) 对查询结果分组(使用 gRoUP by字句) ·分组后按条件筛选(使用HAV|NG子句) MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第5页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 5 页 1. MySQL数据库的单表查询 • 对列的查询(选择表中的若干列) • 对行的查询(选择表中的若干元组) • 对查询结果排序(使用ORDER by字句) • 对查询结果进行计算(使用聚合函数) • 对查询结果分组(使用GROUP by字句) • 分组后按条件筛选(使用HAVING子句)
MySQL ·11对列的查询 1、查询全部列 案例:查询Xs中所有同学的信息 select from xs MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第6页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 6 页 1.1 对列的查询 1、查询全部列 案例:查询xs 中所有同学的信息; select * from xs;
MySQL ●·11对列的查询 2、查询表中指定的列 案例:查询Xs表中学生的学号、姓名; select学号,姓名 from XSI MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第7页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 7 页 1.1 对列的查询 2、查询表中指定的列 案例:查询xs表中学生的学号、姓名; select 学号,姓名 from xs;
MySQL ●·11对列的查询 3、定义列别名 案例:查询Xs表中学生的学号、姓名,并将标题分别指定为 sno和 sname; select学号as5no,姓名 as shame from xs 注意:当自定义的列标题中含有空格时,必须使用单引号将标题括起来。 MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第8页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 8 页 3、定义列别名 案例:查询xs表中学生的学号、姓名,并将标题分别指定为 sno和sname; select 学号 as sno, 姓名 as sname from xs; 注意:当自定义的列标题中含有空格时,必须使用单引号将标题括起来。 1.1 对列的查询
MySQL ●·11对列的查询 4、查询经过计算的值 计算列值可使用的算术运算符有+-*/和%; 要查询经过计算的列,在 select之后的目标列的格式为 表达式: SELECT表达式L表达式] 案例:按照120分制重新计算成绩。 select学号课程号成绩*1.2 from xs kC, MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第9页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 9 页 4、查询经过计算的值 – 计算列值可使用的算术运算符有+ - * /和% ; – 要查询经过计算的列,在select之后的目标列的格式为 表达式:SELECT 表达式 [, 表达式] • 案例:按照120分制重新计算成绩。 select 学号,课程号,成绩*1.2 from xs_kc; 1.1 对列的查询
MySQL ●·11对列的查询 5、替换查询结果中的数据 要替换结果中的数据,要使用査询中的case表达式 格式为 case When条件1then表达式1 When条件2then表达式2 else表达式n end MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第10页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 10 页 5、替换查询结果中的数据 – 要替换结果中的数据,要使用查询中的case表达式, 格式为: case when 条件1 then 表达式1 when 条件2 then 表达式2 … else 表达式n end 1.1 对列的查询