mysql高级查询练习题_MySQL高级查询习题
MySQL高级查询习题
提示:
emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno所属部门编号)
dept部门表(deptno部门编号/dname部门名称/loc地点)
工资 = 薪金 + 佣金
首先先知道主外键的关系,从提示中不难看出 dept 部门表是主键,emp 员工表是外键
在Emp 表中完成如下练习:
– 创建部门表
CREATE TABLE dept(
teptno VARCHAR(20) PRIMARY KEY,
dname VARCHAR(20),
loc VARCHAR(20));1
2
3
4
– 创建员工表
CREATE TABLE emp(empno VARCHAR(20) PRIMARY KEY,
ename VARCHAR(20),
job VARCHAR(20),
mar VARCHAR(20),
hiredate DATE,
sal DOUBLE,
comm DOUBLE,
deptno VARCHAR(20) REFERENCES dept(deptno));1
2
3
4
5
6
7
8
– 给部门表添加数据
INSERT INTO dept(teptno,dname,loc) VALUES("1","研发部","六楼");
INSERT INTO dept(teptno,dname,loc) VALUES("2","测试部","五楼");
INSERT INTO dept(teptno,dname,loc) VALUES("3","销售部","四楼");
INSERT INTO dept(teptno,dname,loc) VALUES("4","推广部","三楼");
INSERT INTO dept(teptno,dname,loc) VALUES("5","生产部","二楼");
INSERT INTO dept(teptno,dname,loc) VALUES("6","咨询部","一楼");1
2
3
4
5
6
– 给员工表添加数据
INSERT INTO emp VALUES("001","小团团","java开发工程师","111","2020-01-15",10000,4000,"1");
INSERT INTO emp VALUES("002","韩冰","妲己","111","2019-02-14",20000,2000,"2");
INSERT INTO emp VALUES("003","呆妹","java咨询师","111","2019-03-14",10000,1000,"3");
INSERT INTO emp VALUES("004","Uzi","乌老师","111","2017-05-14",50000,5000,"4");
INSERT INTO emp VALUES("005","letme","理论大师","111","2017-04-14",20000,8000,"5");
INSERT INTO emp VALUES("006","七七饿了","金牌讲师","111","2019-08-14",10000,2000,"6");
INSERT INTO emp VALUES("007","小橙子","金牌讲师","111","2020-07-14",20000,5000,"6");
INSERT INTO emp VALUES("008","小橘子","java开发工程师","111","2020-09-25",50000,5000,"1");
INSERT INTO emp VALUES("010","小兔子","老师","111","2020-10-01",30000,000,"6");
INSERT INTO emp VALUES("011","达摩","峡谷艺术家","111","2017-09-14",10000,2000,"3");1
2
3
4
5
6
7
8
9
10
1、在emp表中查询出所有的记录。
-- 1、在emp表中查询出所有的记录。
SELECT * FROM emp;1
2
2、在emp表中查询出薪水大于1500的记录,并且按照薪水的降序排列。
-- 2、在emp表中查询出薪水大于1500的记录,并且按照薪水的降序排列。
SELECT * FROM emp ORDER BY sal+comm DESC;1
2
3、在emp表中查询出comm字段为空值的记录。
-- 3、在emp表中查询出comm字段为空值的记录。
-- 先添加一个comm为空的数据
INSERT INTO emp (empno,ename,job,mar,hiredate,sal,deptno)VALUES("011","猪八戒","峡谷艺术家","111","2015-12.12","9000","2");
SELECT * FROM emp WHERE comm IS NULL;1
2
3
4
4、查询出emp表中含有几个部门的记录。(用DISTINCT去除重复记录)
-- 4、查询出emp表中含有几个部门的记录。(用DISTINCT去除重复记录)
SELECT COUNT(DISTINCT deptno) FROM emp;1
2
5、在emp表中查询出部门编号为5或6的记录。(要求使用IN关键字)
-- 5、在emp表中查询出部门编号为5或6的记录(要求使用IN关键字)
SELECT* FROM emp WHERE deptno IN(5,6);1
2
6、在emp表中查询出姓名的第二个字母为A的记录。
-- 6、在emp表中查询出姓名的第二个字母为A的记录。
-- 先添加一条第二个字母为A的数据
INSERT INTO emp VALUES("012","AAA","峡谷艺术家","111","2017-09-18",10000,6000,"3");
SELECT * FROM emp WHERE ename LIKE "_A%";1
2
3
4
7、查询出emp表中总共有多少条记录。
-- 7、查询出emp表中总共有多少条记录。
SELECT COUNT(*) FROM emp;1
2
8、查询emp表中出每个部门的部门代码、薪水之和、平均薪水。
-- 8、查询emp表中出每个部门的部门代码、薪水之和、平均薪水
SELECT AVG(sal+IFNULL(comm,0))AS '平均薪水',SUM(sal+IFNULL(comm,0))AS '薪水之和',deptno AS '部门编号' FROM emp GROUP BY deptno;1
2
不忘初心,砥砺前行
文章来源: blog.csdn.net,作者:小小小芒果,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_45686583/article/details/110550183
mysql高级查询练习题_MySQL高级查询习题相关推荐
- MySQL第九章索引_MySQL高级(索引优化+慢查询定位)
一.先谈谈事务 1. ACID特性 1.1 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用: 1.2 一致性: 执行事务前后,数据库从一个一致性状态转换 ...
- mysql 高级查询总结_MySQL高级查询总结
(一)模糊查询 - 1.-like: mysql> select name as "姓名" from score where name like '张%'; +------- ...
- mysql高级查询 二_MySQL高级查询(二)
EXISTS 和NOT EXISTS子查询 EXISTS子查询 语法: SELECT --- FROM 表名 WHERE EXISTS (子查询); 例: SELECT `studentNo` AS ...
- mysql 高级查询词_Mysql高级查询语句
Exists子查询 Exists的特点 1.在执行create或drop语句前,可以使用exists语句来判断数据库对象是否存在,返回值是true或false drop table if exists ...
- mysql 慢日志 作用_MySQL慢查询日志的作用和开启
前言 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中.lon ...
- mysql 查询重写_mysql 学习 - 查询重写规则
条件化简 我们编写的查询语句的搜索条件本质上是一个表达式,这些表达式可能比较繁杂,或者不能高效的执行,MySQL的查询优化器会为我们简化这些表达式. 移除不必要的括号 有时候表达式里有许多无用的括号, ...
- mysql 前30秒_mysql – 简单查询需要15-30秒
以下查询非常简单.它从消息表中选择最后20条记录,以便在分页方案中使用.第一次运行此查询时,需要15到30秒.后续运行只需不到一秒钟(我预计会涉及一些缓存).我试图确定为什么第一次这么长时间. 这是查 ...
- mysql慢查询单位_MySQL慢查询
MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句.具体环境中,运行时间超过long_query_time值的SQL语句,则会被记录到慢 ...
- mysql or中有空查询慢_MySQL 慢查询日志
1.定义 2.相关参数 2.开启 3.原因 4.慢查询日志工具mysqldumpslow 1.定义 作用:用来记录在MySQL中响应时间超过阀值的语句. 2.相关参数 mysql> show v ...
最新文章
- Linux控制Bash输出的格式与颜色
- Input.GetAxis
- 哈佛最新成果:温度高于25℃可降低新冠病毒传染率,但不足以完全控制疫情...
- java网络编程(六)
- linux复制和剪切命令,Linux命令 复制粘贴剪切
- C++ semi implicit euler半隐式向后欧拉法解算常微分方程(附完整源码)
- 一个开源工作者对开源与赚钱的一些想法
- day8 java的静态与实例
- Sphinx 文档例子
- 【cf-edu-round72: C 】The Number Of Good Substrings(思维)
- 【论文解读】MmWave Radar and Vision Fusion for Object Detection in Autonomous Driving: A Review
- 计算机无线网络设备有哪些,电脑无线上网设备有哪几种
- No qualifying bean of type报错问题处理
- Linux安装mariaDB以及修改Mariadb存储路径
- Win10 安装 PySC2 环境 -- DeepMind联合战网开发的《星际争霸 II》强化学习环境
- 【华为ICT大赛】华为云激活设备的方法以及数据上下行
- vue3动态组件警告提示
- linux红外遥控进程,46.Linux-分析rc红外遥控平台驱动框架,修改内核的NEC解码函数BUG(1)...
- IPHONE视频软件测试,工具|6款视频剪辑APP测评
- 二叉树的中序遍历 递归与非递归
热门文章
- Latex 字母上方箭头
- 域名怎么解析到服务器上
- MySQL导入mdx_一个简单的MDX案例及说明 (转)
- 曲线积分、曲面积分、二重积分、三重积分、定积分之间的转换
- viterbi译码算法简介
- 树莓派安装RTL-SDR驱动(编译安装)
- 国外知名网站Stackoverflow 历时两年评选出11本对程序员最有影响力的书籍
- 安卓pdf阅读器_一文看懂|Kindle和其他安卓电子书阅读器,该选哪个?图+视频一目了然...
- 抗锯齿下采样(Anti-aliasing/down-sampling)-python-numpy 实现
- 拦截器是干嘛用的java_拦截器、过滤器做什么的?