一、内容
1.基本查询
根据教材案例练习基本的查询和条件查询的方法。
例1 查询每个雇员的所有数据。
USE YGGL
GO
SELECT * FROM Employees
例2 查询Employees表中每个雇员的地址和电话。
SELECT Address, PhoneNumber FROM Employees
例3 查询EmployeesID 为000001的雇员的地址和电话。
SELECT Address, PhoneNumber
FROM Employees
WHERE EmployeesID='000001'
例4 查询Employees表中女雇员的住址和电话,使用AS子句将结果中各列的标题分别制定为住址、电话。
SELECT Address AS 住址, PhoneNumber AS 电话
FROM Employees
WHERE Sex=0
例5 查询Employees表中员工的姓名和性别,要求Sex值为1时显示为“男”,为0时显示为“女”。
SELECT Name AS 姓名,
CASE
WHEN Sex=1 THEN '男'
WHEN Sex=0 THEN '女'
END AS 性别
FROM Employees
例6 计算每个雇员的实际收入。
SELECT EmployeesID,实际收入=InCome-OutCome
FROM Salary
例7 获得员工总数。
SELECT COUNT(*) FROM Employees
例8 找出所有姓王的雇员的部门编号。
SELECT DepartmentID FROM Employees
WHERE Name LIKE '王%'
例9 找出所有收入在2000~3000元之间的员工编号。
SELECT EmployeesID
FROM Salary
WHERE InCome BETWEEN 2000 AND 3000
例10 使用INTO字句,由表Salary创建“收入在1500元以上的员工”表,包括员工编号和收入。
SELECT EmployeesID AS 编号,InCome AS 收入
INTO 收入在1500元以上的员工
FROM Salary
WHERE InCome > 1500
二、练习
(1)用SELECT 语句查询Departments和Salary表中所有的数据信息。
①Departments表:
②Salary表:
(2)用SELECT语句查询Departments和Salary表的一列或若干列。
①查询Departments:
②查询Salary:
(3)查询Employees表中的部门编号和性别,要求使用DISTINCT消除重复行。
(4)查询月收入高于2000元的员工编号。
(5)查询1970年以后出生的员工的姓名和住址。
USE YGGL
GO
SELECT Name,Address FROM Employees
WHERE Birthday>='1970-01-01'
(6)查询所有财务部员工的员工编号和姓名。
USE YGGL
GO
SELECT EmployeesID,Name
FROM Employees
WHERE DepartmentID = '1';
(7)查询Employees表中男员工的姓名和出生日期,要求将各列标题用中文标示。
USE YGGL
GO
SELECT Name AS 姓名,Birthday AS 出生日期 FROM Employees
WHERE sex=1;
(8)查询Employees员工的姓名、住址和收入水平,2000元以下显示为低收入,2000~3000元显示为中等收入,3000元以上显示为高收入。
(9)使用SELECT语句进行简单的计算。
USE YGGL
GO
SELECT EmployeesID,实际收入=InCome-OutCome
FROM Salary
(10)计算Salary表中员工月收入的平均数。
GO
select AVG(InCome)
FROM Salary
(11)获得Employees表中年龄最大的员工编号。
(12)计算Salary表中所有员工的总支出。
USE YGGL
GO
select SUM(OutCome)
FROM Salary
(13)查询财务部雇员的最高和最低实际收入。
USE YGGL
GO
select MAX(InCome-OutCome)AS '最高实际收入',
MIN(InCome-OutCome)AS '最低实际收入'
from Employees,Deparments,salary
where Departmentname in(
select Departmentname
from Deparments
where Departmentname = '财务部');
(14)找出所有其住址中含有“中山”的雇员的员工编号及部门编号。
USE YGGL
GO
select EmployeesID,DepartmentID
from Employees
where Address like '中山%'
(15)查找员工编号中倒数第二个数字为“0”的员工的姓名、住址和学历。
USE YGGL
GO
select Name As 姓名,Address AS 住址,学历
from Employees
where EmployeesID like '____0%'
(16)找出所有在部门“1”或“2”工作的雇员的员工编号。
USE YGGL
GO
SELECT EmployeesID
FROM Employees
WHERE DepartmentID BETWEEN 1 AND 2;
(17)使用INTO字句,由表Employees创建“男员工”表,包括员工编号和姓名。
USE YGGL
GO
SELECT EmployeesID AS 员工编号,Name AS 姓名
INTO 男员工
FROM Employees
WHERE Sex=1