>>与软件开发有关的知识:操作系统,数据库,网络通信等 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19603 个阅读者 刷新本主题
 * 贴子主题:  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面向对象编程-->输入与输出(上)
  JavaWeb开发-->Servlet技术详解(Ⅲ)
  JSP与Hibernate开发-->映射组成关系
  Java网络编程-->安全网络通信
  精通Spring-->Vue Router路由管理器
  Vue3开发-->Vue Router路由管理器
  MySQL索引原理 - 秋慕云
  如何成为写SQL高手
  解决mysql问题:The server quit without updating PID file
  没有宫廷内斗,数据库界的延禧攻略
  MySQL 复制表
  MySQL 事务
  SQL的数学函数
  SQL AUTO INCREMENT 字段
  SQL 撤销索引、表以及数据库
  SQL创建表的各种约束(Constraints)
  电脑启动不起来,提示Reboot and select proper boot device ...
  linux系列之常用运维命令整理
  Mysql备份与恢复
  分布式架构的那点事
  为什么要分库分表?用过哪些分库分表中间件?
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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