四十道MYSQL复杂查询练习题(难度较低)

这篇具有很好参考价值的文章主要介绍了四十道MYSQL复杂查询练习题(难度较低)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MYSQL简单查询练习题,想做复杂一点的连接如下:
https://blog.csdn.net/weixin_50843918/article/details/123086590?spm=1001.2014.3001.5501

直入主题

建库建表插入数据

代码直接按顺序复制就可以

-- 建库
CREATE DATABASE `emp`;
-- 打开库
USE emp;
-- 建dept表
CREATE TABLE `dept`( `deptno` INT(2) NOT NULL, `dname` VARCHAR(14), `loc` VARCHAR(13), CONSTRAINT pk_dept PRIMARY KEY(deptno) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 键emp表
CREATE TABLE `emp` ( `empno` int(4) NOT NULL PRIMARY KEY, `ename` VARCHAR(10), `job` VARCHAR(9), `mgr` int(4), `hiredate` DATE, `sal` float(7,2), `comm` float(7,2), `deptno` int(2), CONSTRAINT fk_deptno FOREIGN KEY(deptno) REFERENCES dept(deptno) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 建salgrade表
CREATE TABLE `salgrade` ( `grade` int, `losal` int, `hisal` int ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 插入数据
INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK'); 
INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');
INSERT INTO dept VALUES (30,'SALES','CHICAGO'); 
INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON');
INSERT INTO EMP VALUES (7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20); 
INSERT INTO EMP VALUES (7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30); 
INSERT INTO EMP VALUES (7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30); 
INSERT INTO EMP VALUES (7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20);
INSERT INTO EMP VALUES (7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250,1400,30); 
INSERT INTO EMP VALUES (7698,'BLAKE','MANAGER',7839,'1981-05-01',2850,NULL,30); 
INSERT INTO EMP VALUES (7782,'CLARK','MANAGER',7839,'1981-06-09',2450,NULL,10); 
INSERT INTO EMP VALUES (7788,'SCOTT','ANALYST',7566,'1987-07-13',3000,NULL,20); 
INSERT INTO EMP VALUES (7839,'KING','PRESIDENT',NULL,'1981-11-07',5000,NULL,10); 
INSERT INTO EMP VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500,0,30); 
INSERT INTO EMP VALUES (7876,'ADAMS','CLERK',7788,'1987-07-13',1100,NULL,20); 
INSERT INTO EMP VALUES (7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30); 
INSERT INTO EMP VALUES (7902,'FORD','ANALYST',7566,'1981-12-03',3000,NULL,20); 
INSERT INTO EMP VALUES (7934,'MILLER','CLERK',7782,'1982-01-23',1300,NULL,10);
INSERT INTO SALGRADE VALUES (1,700,1200); 
INSERT INTO SALGRADE VALUES (2,1201,1400); 
INSERT INTO SALGRADE VALUES (3,1401,2000); 
INSERT INTO SALGRADE VALUES (4,2001,3000); 
INSERT INTO SALGRADE VALUES (5,3001,9999);

dept表:
四十道MYSQL复杂查询练习题(难度较低)
emp表:
四十道MYSQL复杂查询练习题(难度较低)
salgrade表:
四十道MYSQL复杂查询练习题(难度较低)

字段描述

雇员表:
记录了一个雇员的基本信息 EMP(雇员表)
NO -----------字段 ---------------类型-----------------描述
1 ---------EMPNO ------ NUMBER(4)---------- 雇员编号
2 ---------ENAME----- VARCHAR2(10) ----表示雇员姓名
3 ----------JOB ----------VARCHAR2(9) -----表示工作职位
4--------- MGR ---------NUMBER(4) 表示一个雇员的领导编号
5 ------HIREDATE ---------DATE------------ 表示雇佣日期
6 -------SAL ------------NUMBER(7,2) ------表示月薪,工资
7 ------COMM ---------NUMBER(7,2)------ 表示奖金或佣金
8------ DEPTNO-------- NUMBER(2)-------- 表示部门编号

DEPT(部门表)部门表:表示一个部门的具体信息
NO ------字段---------------- 类型 --------------描 述
1------ DEPTNO -------NUMBER(2)--------- 部门编号
2 -------DNAME-------- VARCHAR2(14)---- 部门名称
3--------- LOC ----------VARCHAR2(13)------ 部门位置

BONUS(奖金表)奖金表:表示一个雇员的工资及奖金。 NO -------字段 -----------------类型 -----------------描述
1 --------ENAME-------- VARCHAR2(10) ------雇员姓名
2--------- JOB----------- VARCHAR2(9)-------- 雇员工作
3-------- SAL----------- NUMBER-------------- 雇员 工资
4------ COMM--------- NUMBER------------- 雇员奖金

SALGRADE(工资等级表)一个公司是有等级制度,用此表表示一个工资的等级
NO--------- 字段 ---------类型 -------------------描述
1 ----------GRAD--------- NUMBER--------- 等级名 称
2--------- LOSAL------- NUMBER- -------此等级的最低工资

测试题

–SQL练习训练一

1、 选择部门30中的雇员 select * from emp where deptno=30;
2、 检索emp表中的员工姓名、月收入及部门编号 select ename,sal,deptno from emp;
3、 检索emp表中员工姓名、及雇佣时间(雇佣时间按照yyyy-mm-dd显示) select ename 员工姓名,concat(‘¥’,round(sal12)) 年收入 from emp;
4、 检索emp表中的部门编号及工种,并去掉重复行 select distinct deptno,job from emp;
5、 检索emp表中的员工姓名及全年的月收入 select ename,sal
12 from emp;
6、 用姓名显示员工姓名,用年收入显示全年月收入。 select ename,sal from emp where sal>2000;
7、 检索月收入大于2000的员工姓名及月收入 select ename,sal from emp where sal>2000;
8、 检索月收入在1000元到2000元的员工姓名、月收入及雇佣时间 select ename,sal,hiredate from emp where sal between 1000 and 2000;
9、 检索以S开头的员工姓名及月收入 select ename,sal from emp where ename like ‘S%’;
10、检索emp表中月收入是800的或是1250的员工姓名及部门编号
11、显示在部门20中岗位是CLERK的所有雇员信息
12、显示工资高于2500或岗位为MANAGER的所有雇员信息
13、检索emp表中有奖金的员工姓名、月收入及奖金
14、检索emp表中部门编号是30的员工姓名、月收入及提成,并要求其结果按月收入升序、然后按提成 降序显示
15、列出所有办事员的姓名、编号和部门
16、找出佣金高于薪金的雇员
17、找出部门10中所有经理和部门20中的所有办事员的详细资料
18、找出部门10中所有经理、部门20中所有办事员,既不是经理又不是办事员但其薪金>=2000的所有 雇员的详细资料
19、找出收取奖金的雇员的不同工作
20、找出不收取奖金或收取的奖金低于100的雇员
21、找出各月倒数第三天受雇的所有雇员
22、获取当前日期所在月的最后一天
23、找出早于25年之前受雇的雇员
24、显示正好为6个字符的雇员姓名
25、显示不带有’R’的雇员姓名
26、显示雇员的详细资料,按姓名排序
27、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面
28、显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序
29、显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在月排序,将最早年份的项目排在 最前面

30、显示在一个月为30天的情况下所有雇员的日薪金
31、找出在(任何年份的)2月受聘的所有雇员
32、对于每个雇员,显示其加入公司的天数
33、显示姓名字段的任何位置,包含 “A” 的所有雇员的姓名
34、以年、月和日显示所有雇员的服务年限
35、选择公司中有奖金 (COMM不为空,且不为0) 的员工姓名,工资和奖金比例,按工资逆排序,奖金比 例逆排序.
36、选择公司中没有管理者的员工姓名及job
37、选择在1987年雇用的员工的姓名和雇用时间
38、选择在20或10号部门工作的员工姓名和部门号
39、选择雇用时间在1981-02-01到1981-05-01之间的员工姓名,职位(job)和雇用时间,按从早到晚 排序.
40、选择工资不在5000到12000的员工的姓名和工资
41、查询员工号为7934的员工的姓名和部门号
42、查询工资大于1200的员工姓名和工资文章来源地址https://www.toymoban.com/news/detail-434665.html

题比较简单,需要答案可以评论区留言

到了这里,关于四十道MYSQL复杂查询练习题(难度较低)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 时间复杂度空间复杂度相关练习题

    【题目】:题目链接 思路1:排序——》qsort快排——》时间复杂度O(n*log2n)  不符合要求 思路2: (0+1+2+3+...+n)-(a[0]+a[1]+[2]+...+a[n-2]) ——》 时间复杂度O(N)空间复杂度为O(1) (0+1+2+3+...+n)直接用等差数列求和就可 思路3:数组中是几就在第几个位置写一下这个值  ——》

    2024年02月13日
    浏览(53)
  • 【数据结构】时间复杂度---OJ练习题

    目录 🌴时间复杂度练习 📌面试题---消失的数字 题目描述 题目链接:面试题 17.04. 消失的数字 🌴解题思路 📌思路1: malloc函数用法  📌思路2: 📌思路3: 🙊 如果有不了解时间复杂度的请移步上一篇文章:【数据结构】初识 题目描述 数组 nums 包含从 0 到 n 的所有整数,

    2024年02月16日
    浏览(42)
  • 【数据结构】算法的时间复杂度和空间复杂度(下)(附leetcode练习题)

    ☃️个人主页:fighting小泽 🌸作者简介:目前正在学习C语言和数据结构 🌼博客专栏:数据结构 🏵️欢迎关注:评论👊🏻点赞👍🏻留言💪🏻 空间复杂度也是一个数学表达式,是对一个算法在运行过程中 临时占用的额外的存储空间大小的量度 。 空间复杂度不是程序占用

    2023年04月19日
    浏览(87)
  • 【数据结构】 算法的时间复杂度和空间复杂度 (上)(附leetcode练习题)

    ☃️个人主页:fighting小泽 🌸作者简介:目前正在学习C语言和数据结构 🌼博客专栏:数据结构 🏵️欢迎关注:评论👊🏻点赞👍🏻留言💪🏻 如何衡量一个算法的好坏呢?比如对于以下斐波那契数列: 斐波那契数列的递归实现方式非常简洁,但简洁一定好吗?那该如何

    2023年04月14日
    浏览(41)
  • 【数据结构】算法的时间复杂度和空间复杂度 (上)(附leetcode练习题)

    ☃️个人主页:fighting小泽 🌸作者简介:目前正在学习C语言和数据结构 🌼博客专栏:数据结构 🏵️欢迎关注:评论👊🏻点赞👍🏻留言💪🏻 如何衡量一个算法的好坏呢?比如对于以下斐波那契数列: 斐波那契数列的递归实现方式非常简洁,但简洁一定好吗?那该如何

    2023年04月22日
    浏览(63)
  • 数据库多表查询练习题

    二、多表查询 1. 创建 student 和 score 表 CREATE TABLE student ( id INT ( 10 ) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR ( 20 ) NOT NULL , sex VARCHAR ( 4 ) , birth YEAR , department VARCHAR ( 20 ) , address VARCHAR ( 50 ) ); 创建 score 表。 SQL 代码如下: CREATE TABLE score ( id INT ( 10 ) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT , stu_

    2024年01月17日
    浏览(66)
  • MySQL综合练习题

    CREATE TABLE dept (     deptno INT(2) NOT NULL COMMENT \\\'部门编号\\\',     dname VARCHAR (15) COMMENT \\\'部门名称\\\',     loc VARCHAR (20) COMMENT \\\'地理位置\\\'  ); -- 添加主键 ALTER TABLE dept ADD PRIMARY KEY (deptno); -- 添加数据 INSERT INTO dept (deptno,dname,loc)VALUES (10,\\\'财务部\\\',\\\'高新四路\\\'); INSERT INTO dept (deptno,dname,loc

    2024年01月22日
    浏览(49)
  • MySQL练习题(6)

    1、使用mysqldump命令备份数据库中的所有表   2、备份booksDB数据库中的books表 3、使用mysqldump备份booksDB和test数据库 4、使用mysqldump备份服务器中的所有数据库 5、使用mysql命令还原第二题导出的book表 6、进入数据库使用source命令还原第二题导出的book表 1、建立一个utf8编码的数据

    2024年02月16日
    浏览(38)
  • MySQL45道练习题

    作业需要数据表SQL语句已给  1. 查询\\\" 01 \\\"课程比\\\" 02 \\\"课程成绩高的学生的信息及课程分数  1.1 查询同时存在\\\" 01 \\\"课程和\\\" 02 \\\"课程的情况 1.2 查询存在\\\" 01 \\\"课程但可能不存在\\\" 02 \\\"课程的情况(不存在时显示为 null ) 1.3 查询不存在\\\" 01 \\\"课程但存在\\\" 02 \\\"课程的情况 2.查询平均成绩大于

    2024年01月25日
    浏览(54)
  • MySQL索引和视图基础练习题

    学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名Cno为主键 学生选课表:SC (Sno, Cno, Score) 学号,课程号,成绩Sno,Cno为主键 1.用SQL语句创建学生表Student,定义主键,姓名不能重名,性别只能输入男或女

    2024年01月17日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包