45道mysql基础练习题

mysql基础练习题

  • 数据准备:新建一个本地的库 ,然后建表

      #salgrade
     create table salgrade(
     grade int primary key,
     losal double,
     hisal double
     );
     
     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表
     create table dept
     (
     deptno int primary key,
     dname varchar(14),
     loc varchar(13)
     );
     
     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');
     
     
     #建emp表
     create table emp(
     empno int primary key,
     ename varchar(10),
     job varchar(10),
     mgr int,
     hiredate datetime,
     sal double,
     comm double,
     deptno int,
     foreign key (deptno) references dept(deptno));
     
     
     
     insert into emp values(7369,'smith','clerk',7902,'1980-12-17 00:00:00',800,null,20);
     insert into emp values(7499,'allen','salesman',7698,'1981-2-20 00:00:00',1600,30,30);
     insert into emp values(7521,'ward','salesman',7698,'1981-2-22 00:00:00',1250,500,30);
     insert into emp values(7566,'jones','manager',7839,'1981-4-02 00:00:00',2975,null,20);
     insert into emp values(7645,'martin','salesman',7698,'1981-9-28 00:00:00',1250,1400,30);
     insert into emp values(7698,'blake','manager',7839,'1981-5-1 00:00:00',2850,null,30);
     insert into emp values(7782,'clark','manager',7839,'1981-6-9 00:00:00',2450,null,10);
     insert into emp values(7788,'scott','ANALYST',7566,'1987-4-19 00:00:00',800,null,20);
     insert into emp values(7839,'king','president',7566,'1981-11-17 00:00:00',5000,null,10);
     insert into emp values(7844,'turner','salesman',7698,'1981-9-8 00:00:00',1500,0,30);
     insert into emp values(7876,'adams','clerk',7788,'1987-5-23 00:00:00',1100,null,20);
     insert into emp values(7900,'james','clerk',7698,'1981-12-3 00:00:00',950,null,30);
     insert into emp values(7902,'ford','analyst',7566,'1981-12-3 00:00:00',3000,null,20);
     insert into emp values(7934,'miller','clerk',7782,'1982-1-23 00:00:00',1300,null,10);
    
  • 题目:

     		1、选择部门30中的雇员
     		2、列出所有办事员(clerk)的姓名、编号和部门
     		3、找出佣金(comm)高于薪金(sal)的雇员
     		4、找出佣金高于薪金60%的雇员
     		5、找出部门10中所有经理和部门20中的所有办事员的详细资料
     		6、找出部门10中所有经理、部门20中所有办事员,既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料
     		7、找出收取佣金的雇员的不同工作
     		8、找出不收取佣金或收取的佣金低于100的雇员
     		9、找出各月最后一天受雇的所有雇员
     		10、找出早于25年之前受雇的雇员
     		11、显示只有首字母大写的所有雇员的姓名
     		12、显示正好为6个字符的雇员姓名
     		13、显示不带有'R'的雇员姓名
     		14、显示所有雇员的姓名的前三个字符
     		15、显示所有雇员的姓名,用a替换所有'A'
     		16、显示所有雇员的姓名以及满10年服务年限的日期
     		17、显示雇员的详细资料,按姓名排序
     		18、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面
     		19、显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序
     		20、显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在月排序,将最早年份的项目排在最前面
     		21、显示在一个月为30天的情况下所有雇员的日薪金
     		22、找出在(任何年份的)2月受聘的所有雇员
     		23、对于每个雇员,显示其加入公司的天数
     		24、显示姓名字段的任何位置,包含 "A" 的所有雇员的姓名
     		25、以年、月和日显示所有雇员的服务年限
     		26、列出至少有一个雇员的所有部门
     		27、列出薪金比"SMITH"多的所有雇员
     		28、列出所有雇员的姓名及其直接上级的姓名
     		29、列出入职日期早于其直接上级的所有雇员
     		30、列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门
     		31、列出所有“CLERK”(办事员)的姓名及其部门名称
     		32、列出各种工作类别的最低薪金,显示最低薪金大于1500的记录
     		33、列出从事“SALES”(销售)工作的雇员的姓名,假定不知道销售部的部门编号
     		34、列出薪金高于公司平均水平的所有雇员
     		35、列出与“SCOTT”从事相同工作的所有雇员
     		36、列出某些雇员的姓名和薪金,条件是他们的薪金等于部门30中任何一个雇员的薪金
     		37、列出某些雇员的姓名和薪金,条件是他们的薪金高于部门30中所有雇员的薪金
     		38、列出每个部门的信息以及该部门中雇员的数量
     		39、列出所有雇员的雇员名称、部门名称和薪金
     		40、列出从事同一种工作但属于不同部门的雇员的不同组合
     		41、列出分配有雇员数量的所有部门的详细信息,即使是分配有0个雇员
     		42、列出各种类别工作的最低工资
     		43、列出各个部门的MANAGER(经理)的最低薪金
     		44、列出按年薪排序的所有雇员的年薪
     		45、列出薪金水平处于第四位的雇员
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值