内容发布更新时间 : 2024/11/13 5:15:38星期一 下面是文章的全部内容请认真阅读。
陈浩夏 MySQL5.5数据库教程V1.2
SQL简单查询练习题
一、 表结构说明
1.
雇员表(emp)
雇员表:emp 字段 empno ename job mgr hiredate sal comm deptno 雇员编号 员工姓名 工作职位 雇员的领导(经理)编号 入职日期 月薪/工资 奖金 雇员所属部门的编号 中文名 INT VARCHAR VARCHAR INT DATE INT INT INT 类型 20 50 长度 取值说明 主健 NOT NULL 2. 部门表(dept)
部门表:dept 字段 中文名 部门编号(唯一) 部门名称 地址 INT VARCHAR VARCHAR 类型 20 50 长度 取值说明 主健 NOT NULL deptno dname loc 3. 工资等级表 (salgrade)
工资登记表:salgrade 字段 中文名 等级名称 此等级的最低工资 此等级的最高工资 INT INT INT 类型 长度 取值说明 grade losal hisal 时间:2012年11月 授课:陈浩夏 版权所有:陈浩夏
陈浩夏 MySQL5.5数据库教程V1.2
4. 奖金表 (bonus)
工资登记表:salgrade 字段 中文名 雇员姓名 雇员工作 工资 奖金 类型 VARCHAR VARCAHR INT INT 长度 20 9 取值说明 ename job sal comm 二、 SQL脚本
? source执行scott_for_mysql.sql
三、 SQL基本查询操作
1. 选择部门30中的所有员工.
2. 列出所有办事员(工作职位)(CLERK)的姓名,编号和部门编号. 3. 找出佣金高于薪金的员工. 4. 找出佣金高于薪金的60%的员工.
5. 找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料. 6. 找出部门10中所有经理(MANAGER),部门20中所有办事员(CLERK),既不是经理又
不是办事员但其薪金大于或等于2000的所有员工的详细资料. 7. 找出收取佣金的员工的不同工作.
8. 找出不收取佣金(奖金)NULL或收取的佣金低于100的员工. 9. 找出各月倒数第3天受雇的所有员工.//函数 10. 找出早于12年前受雇的员工.//日期 返回年份 11. 以首字母大写的方式显示所有员工的姓名. 12. 显示正好为5个字符的员工的姓名. 13. 显示不带有\的员工的姓名. 14. 显示所有员工姓名的前三个字符.
时间:2012年11月
授课:陈浩夏
版权所有:陈浩夏
陈浩夏 MySQL5.5数据库教程V1.2
15. 显示所有员工的姓名,用a替换所有\函数 16. 显示满10年服务年限的员工的姓名和受雇日期. 17. 显示员工的详细资料,按姓名排序.
18. 显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面. 19. 显示所有员工的姓名、工作和薪金,按工作的降序排序,若工作相同则按薪金排序. 20. 显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同
则将最早年份的员工排在最前面.
21. 显示在一个月为30天的情况所有员工的日薪金,忽略余数. 22. 找出在(任何年份的)2月受聘的所有员工. 23. 对于每个员工,显示其加入公司的天数.
24. 显示姓名字段的任何位置包含\的所有员工的姓名.
SQL综合操作
一、 表结构说明
? 现有一个商店的数据库,记录顾客及其购物情况,由下面三个表组成:
1. 商店表(product)
商店表:product 字段 中文名 商品号 类型 长度 取值说明 productid productname 商品名 unitprice category provider 单价 商品类别 供应商 时间:2012年11月 授课:陈浩夏 版权所有:陈浩夏