mysql
安装mysql
及Navicat for MySQL
创建测试表TEACHER(教师表)、COURSE(课程表)
TEACHER:
TNO | 教工号 |
TNAME | 教师姓名 |
CNO | 课程号 |
SAL | 工资 |
DNAME | 所在系 |
TSEX | 性别 |
AGE | 年龄 |
COURSE:
CNO | 课程号 |
CNAME | 课程名 |
TIME | 课时 |
SCOUNT | 人数 |
CTEST | 考试时间 |
SLECT查询语句
- 查询所有教师的姓名信息
- 查询所有教师的姓名信息和工资情况
通配符*
- 可以匹配表中所有行,但是建议慎用,以免占用过多资源
DISTINCT去除重复信息
- 查询所有教师的姓名信息,
去除重复信息
ORDER BY按照列名排序
- 查询所有教师的姓名信息和工资情况,并按照
工资排序
DESC降序
- 查询所有教师的姓名信息和工资情况,并按照工资
降序排序
WHERE定义搜索条件
- 查询所有
是男性
、所在系不是计算机
且工资大于900
的教师的姓名信息、所在系和工资情况
NULL值判断
- 查询所有
工资不为null
的教师的姓名信息、所在系和工资情况,并按照工资降序排序
OR条件查询
- 查询所有
性别为男性
或年龄大于46岁
的教师的姓名信息、性别和年龄信息
- 查询所有所在系为'数学'或'生物'或'计算机'的教师的姓名信息和所在系信息
- OR真值表
表达式1 | 表达式2 | 结果 |
TRUE | TRUE | TRUE |
TRUE | FALSE | TRUE |
TRUE | NULL | TRUE |
FALSE | FALSE | FALSE |
FALSE | NULL | NULL |
NULL | NULL | NULL |
- AND运算符优先级高于OR
IN条件查询
- 查询所有所在系为'数学'或'生物'或'计算机'的教师的姓名信息和所在系信息
BETWEEN范围查询
- 查询所有
工资在1000到1400范围内
的的教师的姓名信息和工资信息
LIKE模糊查询
- 查询所有
课程名是以'计算机'开头
的课程
- 查询所有
课程名是以'计算机'开头及'基础'结尾
的课程
- 查询所有
课程名是为'计算机XX'
的课程
- 只有CHAR、VARCHAR和TEXT类型的数据才能用LIKE运算符和通配符
AS取别名
- 查询所有的课程号及课程名信息
(课程名重命名为INFO)
- 查询所有的课程号、课程名及课时大于30的课时信息
CONCAT拼接
- 查询所有的课程号及课程名信息
拼接并重命名INFO信息
CAST转换数据结构
- 查询所有的课程号、课程名及考试时间信息转为7位字符串重命名为CTESTSTR
CONVERT转换数据结构
- 查询所有的课程号、课程名及考试时间信息转为7位字符串重命名为CTESTSTR
SUM()求和函数
- 求所有课时总和
COUNT()计数函数
- 统计课时次数
MAX()最大值函数
- 求课时最大值
MIN()最小值函数
- 求课时最小值
AVG()均值函数
- 求课时平均值
- 求课时平均值并取整
GROUP BY组合查询
- 按照性别分组查询每组的教师工资平均值信息
- 按照所在系及性别分组查询所在系及性别信息
ROLLUP扩展
- 按照所在系及性别分组查询所在系及性别信息并扩展
HAVING
- 按照所在系分组、统计次数且筛选所有次数次数大于等于2的所在系信息