SQL练习二:查询

本文通过SQL查询展示了如何从员工、部门和职位表中获取各类信息,包括部门详情、特定部门员工薪资、姓氏筛选、工资范围筛选、名字含特定字符的员工、工资排序以及各部门的平均薪资和人数统计。此外,还提供了按工资高低查找比指定员工工资高的员工姓名。这些查询涵盖了基本的SQL操作和联接应用。
摘要由CSDN通过智能技术生成

在线练习: SQL Fiddle

 员工表(Employee)

ENUMBERENAMEESEXEEMAILEPHONEEWAGEJNUMBERD_NUMBER
0001陈火旺huo@163.com0411-54684521120020013001
0002陈火旺huo@163.com0411-54644521150020083002
0003赵克佳zkj@163.com0411-54684891240020073003

 部门表(Department)

D_NUMBERDNAMEDLOCATION
3001计算机系二教学楼
3002机电系机电楼
3003图书馆图书馆

 职位表(Job)

JNUMBERJNAMEJDESCRIPTION
2001教师负责教学科研工作
2004保安负责安全工作
2007实验教师负责实验室管理维护工作
2008图书管理员负责图书馆的管理

 题目及代码参考:

1*查询出所有部门的情况信息。

SELECT *
FROM Department;

2*检索部门号码是3002的员工的姓名、工资。

SELECT Ename,Ewage
FROM Employee,Department
WHERE Employee.D_number=Department.D_number AND Employee.D_number='3002';

3*检索出姓赵的员工的信息。

SELECT *
FROM Employee
WHERE Ename LIKE '赵%';

4*检索出所有工资大于1000,小于2000的员工的所有信息,包括他们的部门名称

SELECT Employee.*,Department.Dname
FROM Employee,Department
WHERE Employee.D_number=Department.D_number AND Ewage BETWEEN 1000 AND 2000;

5*检索出员工的名字中有“火”并且工资小于2000的员工的信息。

SELECT *
FROM Employee
WHERE Ewage < 2000 AND Ename LIKE '%火%';

6*必填检索出所有员工的信息,根据工资升序排列。

SELECT *
FROM Employee
ORDER BY Ewage ASC;

07*对员工信息,检索出各个部门的平均工资和总人数。

SELECT D_number,avg(Ewage),count(*)
FROM Employee
GROUP BY D_number;

8*对员工信息,检索出如下列:员工编号、员工姓名、职位名称、部门名称。

SELECT Enumber,Ename,Jname,Dname
FROM Employee,Department,Job
WHERE Employee.Jnumber=Job.Jnumber AND Employee.D_number=Department.D_number;

9*检索出比员工编号是0002的员工工资高的员工的姓名。

SELECT Ename
FROM Employee
WHERE Ewage >
(SELECT Ewage FROM Employee WHERE Enumber='0002');

结果参考:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值