李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
其它
正文
SQL语句练习题(一)
Leefs
2019-11-26 PM
4107℃
1条
# SQL语句练习题(一) ### 前言 本篇将给大家带来一个在网上找的一些SQL语句的练习题,答案将在后面的篇章中公布 ### 练习题 #### 建表语句 ```mysql DROP DATABASE exam; CREATE DATABASE exam; USE exam; /*创建部门表*/ CREATE TABLE dept( deptno INT PRIMARY KEY, dname VARCHAR(50), loc VARCHAR(50) ); /*创建雇员表*/ CREATE TABLE emp( empno INT PRIMARY KEY, ename VARCHAR(50), job VARCHAR(50), mgr INT, hiredate DATE, sal DECIMAL(7,2), COMM DECIMAL(7,2), deptno INT, CONSTRAINT fk_emp FOREIGN KEY(mgr) REFERENCES emp(empno) ); /*创建工资等级表*/ CREATE TABLE salgrade( grade INT PRIMARY KEY, losal INT, hisal INT ); /*创建学生表*/ CREATE TABLE stu( sid INT PRIMARY KEY, sname VARCHAR(50), age INT, gander VARCHAR(10), province VARCHAR(50), tuition INT ); /*插入dept表数据*/ INSERT INTO dept VALUES (10, '教研部', '北京'); INSERT INTO dept VALUES (20, '学工部', '上海'); INSERT INTO dept VALUES (30, '销售部', '广州'); INSERT INTO dept VALUES (40, '财务部', '武汉'); /*插入emp表数据*/ INSERT INTO emp VALUES (1009, '曾阿牛', '董事长', NULL, '2001-11-17', 50000, NULL, 10); INSERT INTO emp VALUES (1004, '刘备', '经理', 1009, '2001-04-02', 29750, NULL, 20); INSERT INTO emp VALUES (1006, '关羽', '经理', 1009, '2001-05-01', 28500, NULL, 30); INSERT INTO emp VALUES (1007, '张飞', '经理', 1009, '2001-09-01', 24500, NULL, 10); INSERT INTO emp VALUES (1008, '诸葛亮', '分析师', 1004, '2007-04-19', 30000, NULL, 20); INSERT INTO emp VALUES (1013, '庞统', '分析师', 1004, '2001-12-03', 30000, NULL, 20); INSERT INTO emp VALUES (1002, '黛绮丝', '销售员', 1006, '2001-02-20', 16000, 3000, 30); INSERT INTO emp VALUES (1003, '殷天正', '销售员', 1006, '2001-02-22', 12500, 5000, 30); INSERT INTO emp VALUES (1005, '谢逊', '销售员', 1006, '2001-09-28', 12500, 14000, 30); INSERT INTO emp VALUES (1010, '韦一笑', '销售员', 1006, '2001-09-08', 15000, 0, 30); INSERT INTO emp VALUES (1012, '程普', '文员', 1006, '2001-12-03', 9500, NULL, 30); INSERT INTO emp VALUES (1014, '黄盖', '文员', 1007, '2002-01-23', 13000, NULL, 10); INSERT INTO emp VALUES (1011, '周泰', '文员', 1008, '2007-05-23', 11000, NULL, 20); INSERT INTO emp VALUES (1001, '甘宁', '文员', 1013, '2000-12-17', 8000, NULL, 20); /*插入salgrade表数据*/ INSERT INTO salgrade VALUES (1, 7000, 12000); INSERT INTO salgrade VALUES (2, 12010, 14000); INSERT INTO salgrade VALUES (3, 14010, 20000); INSERT INTO salgrade VALUES (4, 20010, 30000); INSERT INTO salgrade VALUES (5, 30010, 99990); /*插入stu表数据*/ INSERT INTO `stu` VALUES ('1', '王永', '23', '男', '北京', '1500'); INSERT INTO `stu` VALUES ('2', '张雷', '25', '男', '辽宁', '2500'); INSERT INTO `stu` VALUES ('3', '李强', '22', '男', '北京', '3500'); INSERT INTO `stu` VALUES ('4', '宋永合', '25', '男', '北京', '1500'); INSERT INTO `stu` VALUES ('5', '叙美丽', '23', '女', '北京', '1000'); INSERT INTO `stu` VALUES ('6', '陈宁', '22', '女', '山东', '2500'); INSERT INTO `stu` VALUES ('7', '王丽', '21', '女', '北京', '1600'); INSERT INTO `stu` VALUES ('8', '李永', '23', '男', '北京', '3500'); INSERT INTO `stu` VALUES ('9', '张玲', '23', '女', '广州', '2500'); INSERT INTO `stu` VALUES ('10', '啊历', '18', '男', '山西', '3500'); INSERT INTO `stu` VALUES ('11', '王刚', '23', '男', '湖北', '4500'); INSERT INTO `stu` VALUES ('12', '陈永', '24', '男', '北京', '1500'); INSERT INTO `stu` VALUES ('13', '李雷', '24', '男', '辽宁', '2500'); INSERT INTO `stu` VALUES ('14', '李沿', '22', '男', '北京', '3500'); INSERT INTO `stu` VALUES ('15', '王小明', '25', '男', '北京', '1500'); INSERT INTO `stu` VALUES ('16', '王小丽', '23', '女', '北京', '1000'); INSERT INTO `stu` VALUES ('17', '唐宁', '22', '女', '山东', '2500'); INSERT INTO `stu` VALUES ('18', '唐丽', '21', '女', '北京', '1600'); INSERT INTO `stu` VALUES ('19', '啊永', '23', '男', '北京', '3500'); INSERT INTO `stu` VALUES ('20', '唐玲', '23', '女', '广州', '2500'); INSERT INTO `stu` VALUES ('21', '叙刚', '18', '男', '山西', '3500'); INSERT INTO `stu` VALUES ('22', '王累', '23', '男', '湖北', '4500'); INSERT INTO `stu` VALUES ('23', '赵安', '23', '男', '北京', '1500'); INSERT INTO `stu` VALUES ('24', '关雷', '25', '男', '辽宁', '2500'); INSERT INTO `stu` VALUES ('25', '李字', '22', '男', '北京', '3500'); INSERT INTO `stu` VALUES ('26', '叙安国', '25', '男', '北京', '1500'); INSERT INTO `stu` VALUES ('27', '陈浩难', '23', '女', '北京', '1000'); INSERT INTO `stu` VALUES ('28', '陈明', '22', '女', '山东', '2500'); INSERT INTO `stu` VALUES ('29', '孙丽', '21', '女', '北京', '1600'); INSERT INTO `stu` VALUES ('30', '李治国', '23', '男', '北京', '3500'); INSERT INTO `stu` VALUES ('31', '张娜', '23', '女', '广州', '2500'); INSERT INTO `stu` VALUES ('32', '安强', '18', '男', '山西', '3500'); INSERT INTO `stu` VALUES ('33', '王欢', '23', '男', '湖北', '4500'); INSERT INTO `stu` VALUES ('34', '周天乐', '23', '男', '北京', '1500'); INSERT INTO `stu` VALUES ('35', '关雷', '25', '男', '辽宁', '2500'); INSERT INTO `stu` VALUES ('36', '吴强', '22', '男', '北京', '3500'); INSERT INTO `stu` VALUES ('37', '吴合国', '25', '男', '北京', '1500'); INSERT INTO `stu` VALUES ('38', '正小和', '23', '女', '北京', '1000'); INSERT INTO `stu` VALUES ('39', '吴丽', '22', '女', '山东', '2500'); INSERT INTO `stu` VALUES ('40', '冯含', '21', '女', '北京', '1600'); INSERT INTO `stu` VALUES ('41', '陈冬', '23', '男', '北京', '3500'); INSERT INTO `stu` VALUES ('42', '关玲', '23', '女', '广州', '2500'); INSERT INTO `stu` VALUES ('43', '包利', '18', '男', '山西', '3500'); INSERT INTO `stu` VALUES ('44', '威刚', '23', '男', '湖北', '4500'); INSERT INTO `stu` VALUES ('45', '李永', '23', '男', '北京', '1500'); INSERT INTO `stu` VALUES ('46', '张关雷', '25', '男', '辽宁', '2500'); INSERT INTO `stu` VALUES ('47', '送小强', '22', '男', '北京', '3500'); INSERT INTO `stu` VALUES ('48', '关动林', '25', '男', '北京', '1500'); INSERT INTO `stu` VALUES ('49', '苏小哑', '23', '女', '北京', '1000'); INSERT INTO `stu` VALUES ('50', '赵宁', '22', '女', '山东', '2500'); INSERT INTO `stu` VALUES ('51', '陈丽', '21', '女', '北京', '1600'); INSERT INTO `stu` VALUES ('52', '钱小刚', '23', '男', '北京', '3500'); INSERT INTO `stu` VALUES ('53', '艾林', '23', '女', '广州', '2500'); INSERT INTO `stu` VALUES ('54', '郭林', '18', '男', '山西', '3500'); INSERT INTO `stu` VALUES ('55', '周制强', '23', '男', '湖北', '4500'); /* select * from emp; select * from dept; select * from salgrade; */ ``` #### 单表查询练习 > 1. 1.查询出部门编号为30的所有员工 > 2. 2.所有销售员的姓名、编号和部门编号。 > 3. 3.找出奖金高于工资的员工。 > 4. 4.找出奖金高于工资60%的员工。 > 5. 5.找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料。 > 6. 6.找出部门编号为10中所有经理,部门编号为20中所有销售员,还有即不是经理又不是销售员但其工资大或等于20000的所有员工详细资料。 > 8. 7.无奖金或奖金低于1000的员工。 > 9. 8.查询名字由三个字组成的员工。 > 10. 9.查询2000年入职的员工。 > 11. 10.查询所有员工详细信息,用编号升序排序 > 12. 11.查询所有员工详细信息,用工资降序排序,如果工资相同使用入职日期升序排序 > 13. 12.查询每个部门的平均工资 > 14. 13.查询每个部门的雇员数量。 > 15. 14.查询每种工作的最高工资、最低工资、人数 > 16. 15.显示非销售人员工作名称以及从事同一工作雇员的月工资的总和,并且要满足从事同一工作的雇员的月工资合计大于50000,输出结果按月工资的合计升序排列 #### 多表查询练习 > 1. 1.查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数。 > 2. 2.列出所有员工的姓名及其直接上级的姓名。 > 3. 3.列出受雇日期早于直接上级的所有员工的编号、姓名、部门名称。 > 4. 4.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。 > 5. 5.列出最低薪金大于15000的各种工作及从事此工作的员工人数。 > 6. 6.列出在销售部工作的员工的姓名,假定不知道销售部的部门编号。 > 7. 7.列出薪金高于公司平均薪金的所有员工信息,所在部门名称,上级领导,工资等级。 > 8. 8.列出与庞统从事相同工作的所有员工及部门名称。 > 9. 9.列出薪金高于在部门30工作的所有员工的薪金 的员工姓名和薪金、部门名称。 > 10. 10.查出年份、利润、年度增长比
标签:
MySQL
,
SQL练习题
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/225.html
上一篇
持有对象--泛型和类型安全的容器
下一篇
持有对象--基本概念
评论已关闭
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
NLP
4
标签云
ClickHouse
Kibana
并发编程
机器学习
DataWarehouse
设计模式
随笔
查找
Hadoop
正则表达式
Golang
Stream流
CentOS
散列
二叉树
Spring
pytorch
HDFS
MyBatisX
Flink
Spark Core
JavaSE
Netty
链表
队列
并发线程
Flume
NIO
前端
Thymeleaf
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭