>>与软件开发有关的知识:操作系统,数据库,网络通信等 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19762 个阅读者 刷新本主题
 * 贴子主题:  SQL查询语句练习题 回复文章 点赞(0)  收藏  
作者:Jacky    发表时间:2020-03-23 18:45:48     消息  查看  搜索  好友  邮件  复制  引用

                                                                                                

题目:SQL 查询练习题

一、 SQL练习题

     员工表emp:员工编号eid,姓名ename,工作职位title,雇佣日期hiretime,工资salary,奖金bonus,部门 depart

部门表dept:部门编号did,名称dname,部门领导leader

      1、  查询员工姓名及所做工作

     SELECT ename,title from emp

      2、  查询员工姓名及年薪

     SELECT ename,salary*12 as salaryAll from emp

      3、  查询工资大于4000的员工信息

     SELECT * from emp where salary > 4000

      4、  查询年薪大于20000的员工信息

     SELECT * from emp where salary*12 > 20000

      5、  查询没有奖金的员工

     SELECT * fromemp where bonus = 0

      6、  查询工资大于3000同时有奖金的员工信息

     SELECT * from emp where salary > 3000 and bonus = 0

      7、  查询工资大于3500但是小于5000的员工信息

     SELECT * from emp where salary > 3000 and salary <5000

      8、  查询编号是1001、1003、1004的员工信息

     SELECT * from emp LEFT JOIN dept ON emp.depart = dept.didwhere emp.depart in (101,103,104)

      9、  查询编号不是1001、1003、1004的员工信息

     SELECT * from emp LEFT JOIN dept ON emp.depart = dept.didwhere emp.depart not in (101,103,104)

      10、       查询员工姓名是3个字的员工信息

     SELECT * from emp where char_length(ename) = 3

      11、       查询姓张的员工信息

      12、       SELECT * from emp where enamelike '张%'

      13、       查询出员工工资没有包含6和8的员工信息

     select * from (select * from emp where salary not like'%8%') as c where salary not like '%6%'

      14、       按照工资由高到低查询员工信息

     select * from emp ORDER BY salary

      15、       要求查询出101部门的所有雇员信息,查询的信息按照工资由高到低排序,如果工资相等,则按照雇佣日期由早到晚排序。

     select * from emp LEFT JOIN dept on emp.depart = dept.didwhere dept.did = 101 ORDER BY salary , hiretime

      16、       查询101部门有多少员工,每月平均发多少工资

     select avg(salary),count(*) from emp LEFT JOIN dept onemp.depart = dept.did where dept.did = 101

      17、       查询101部门的所有员工信息,并显示所在部门名称

     select * from emp LEFT JOIN dept on emp.depart = dept.did

      18、       查询1001员工的部门领导信息

     select * from emp LEFT JOIN dept on emp.depart = dept.didwhere dept.did = 101 and title = '经理'

      19、       查询部门员工数量,平均工资,最低工资及最低工资的员工姓名

     select ename,depart,'员工数量',minSalary,'平均工资' from emp,
               (select dept.didas bumen,count(*) as '员工数量',MIN(salary) asminSalary,AVG(salary) as '平均工资'
     from emp LEFT JOIN depton emp.depart = dept.did GROUP BY dept.did    ) as a
     where emp.depart = a.bumen and emp.salary =a.minSalary

                                                                                        
----------------------------
原文链接:https://blog.csdn.net/x289231673/article/details/78338628

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-03-28 12:14:58 重新编辑]
  Java面向对象编程-->第一个Java程序
  JavaWeb开发-->使用过滤器
  JSP与Hibernate开发-->Spring、JPA与Hibernate的整合
  Java网络编程-->XML数据处理
  精通Spring-->绑定表单
  Vue3开发-->Vue简介
  TCP的三次握手建立链接和四次挥手释放链接
  针对 MySQL IO 特点进行的存储优化揭秘
  秒懂 QPS、TPS、PV、UV、GMV、IP、RPS!
  mysql 表分区、按时间函数分区、删除分区、自动添加表分区
  Zabbix中文使用手册
  centos7手把手教你搭建zabbix监控
  MySQL 导入数据
  从MySQL数据库中导出数据
  MySQL 连接
  SQL ALTER TABLE 语句
  SQL FOREIGN KEY 约束
  比较XML的子元素和属性
  Linux 云服务器
  一次给朋友转账引发我对分布式事务的思考
  Mysql支持的数据类型(总结)
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。