第三讲
USE CompanySales
--1 从商品表(Product)中查询所有商品的信息。 SELECT *
FROM Product
--2 从客户表(Customer)中检索所有客户的公司名称、联系人姓名和地址。 SELECT CompanyName,ContactName,Address FROM Customer
--3 查询所有员工的工资在提高%后信息,将提高后的工资列标题为“提高后工资”。 SELECT EmployeeName,Salary,提高后工资=Salary *1.1 FROM Employee
--4 查询每个员工的姓名、性别和年龄,姓名列标题显示为“员工姓名”,性别列标题显示为“性别”,年龄列标题显示为“年龄”。
SELECT EmployeeName 员工姓名,Sex 性别,年龄=YEAR(GETDATE())-YEAR(BirthDate) FROM Employee
--5 从员工表(Employee)中查询所有员工的部门信息,并消去重复记录。 SELECT DISTINCT DepartmentID FROM Employee
--6 检索客户表(Customer)中前位客户的公司名称、联系人姓名和地址。 SELECT TOP 5 CompanyName,ContactName,Address FROM Customer
--7 从客户表(Customer)中检索所有的客户的公司名称、联系人姓名、地址,只要求显示前%客户信息。
SELECT TOP 5PERCENT CompanyName,ContactName,Address FROM Customer
USE pubs
--8 显示discounts表中所有列的数据; SELECT *
FROM discounts
--9 只显示discounts表中每种折扣的幅度及其名称; SELECT discounttype,discount FROM discounts
--10 显示publishers表的country列值(消除重复值); SELECT DISTINCT country FROM publishers
--11 显示discounts表中的前行; SELECT TOP 2 * FROM discounts
--12 显示publishers表中的前%行; SELECT TOP 2 PERCENT * FROM publishers
USE stusystem --13 查询学生所有信息 SELECT * FROM student
--14 查询学生的学号、姓名及性别
SELECT stunumber,stuname,stusex FROM student
--15 显示学生的性别和年龄,消除重复值.
SELECT DISTINCT stusex,年龄=YEAR(GETDATE())-YEAR(stubirthday) FROM student
--16 显示前%的学生的信息 SELECT TOP 80 PERCENT * FROM student
第四讲
USE CompanySales
--1查询员工\蔡慧敏\的工资。
SELECT EmployeeName,Salary FROM Employee
WHERE EmployeeName='蔡慧敏'
--2在员工表(Employee)中,查询工资大于元的员工信息。 SELECT * FROM Employee
WHERE Salary>3000
--3查询员工表(Employee)中,工资在元到元的员工信息。(使用between…and) SELECT * FROM Employee
WHERE Salary BETWEEN 5000 AND 7000 --4查询库存量在到之间的商品信息。 SELECT * FROM Product
WHERE ProductStockNumber BETWEEN 1000 AND 3000
--5在销售订单表(Sell_order)中,查询员工编号为、和的员工接受订单信息。 SELECT *
FROM Sell_Order
WHERE EmployeeID IN (1,5,7)
--6在销售订单表(Sell_order)中,查询不是员工编号为、和的员工接受订单信息。 SELECT *
FROM Sell_Order
WHERE NOT EmployeeID IN (1,5,7) --7找出所有姓\章\的员工信息。 SELECT * FROM Employee
WHERE EmployeeName LIKE '章%'
--8找出所有姓\李\和姓\章\的员工信息。 SELECT * FROM Employee
WHERE EmployeeName LIKE '[李章]%' --9找出所有姓\李\的,名为一个汉字的员工信息。 SELECT * FROM Employee
WHERE EmployeeName LIKE '李_' --10找出所有不姓\李\的员工信息。 SELECT * FROM Employee
WHERE EmployeeName LIKE '[^李]%'
--11在销售管理数据库中,查找目前有哪些主管的位置是不空的。 SELECT *
FROM Department
WHERE ManagerName IS NOT NULL
--12从员工表(Employee)中,查询工资在元以下的女性员工姓名和工资信息。 SELECT EmployeeName,Salary FROM Employee
WHERE Salary<3400 AND Sex='女'
USE pubs
--13列出图书当年销售量大于的图书名称; SELECT title FROM titles
WHERE ytd_sales>10000
--14查询书价高于$20的图书的名称及其价格; SELECT title,price FROM titles WHERE price>20
--15查询书价在$10~$30范围内的图书信息; SELECT * FROM titles
WHERE price BETWEEN 10 AND 30
--16列出publishers表中社址在德国和法国的出版社的名称; SELECT pub_name FROM publishers
WHERE country ='Germany' OR country ='France' --17查找名称以'A'字符开头的出版社名称; SELECT pub_name FROM publishers
WHERE pub_name LIKE 'A%'
--18查找名称以'A'以外字符开头的出版社信息; SELECT *
FROM publishers
WHERE pub_name LIKE '[^A]%' --19查找目前仍未定价的图书信息; SELECT * FROM titles
WHERE price IS NULL
--20列出书价高于$15或低于$5、且当年销售量大于图书的名称、价格及年销售量; SELECT title 图书名称,price 价格,ytd_sales 年销售量 FROM titles
WHERE (price>15 OR price<5) AND ytd_sales>5000 --21查询titles表中年所出版的business类图书的名称及价格; SELECT title,price FROM titles
WHERE pubdate>='1991-01-01' AND pubdate<='1991-12-31'type='business'
USE stusystem
--22查询在年以后出生的所有学生的信息(包括年)。 SELECT * FROM student
WHERE stubirthday>='1985-01-01' --23查询所有女学生的基本信息. SELECT * FROM student WHERE stusex='女'
--24查询Student表中2班或3班的学生信息。 SELECT * FROM student
WHERE claid IN (2,3) --25查询姓\张\的学生信息。 SELECT * FROM student
WHERE stuname LIKE '张%'
--26查询所有出生日期不为空的学生信息。 SELECT * FROM student
WHERE stubirthday IS NOT NULL --27查询-12-1之前出生的女生的信息。 SELECT * FROM student
WHERE stusex='女' AND stubirthday<'1983-12-01' --28查询出生日期在-7-7和-7-7之间的学生信息。 SELECT * FROM student
AND
WHERE stubirthday BETWEEN '1983-7-7'AND'1984-7-7'
第五讲
USE CompanySales
--1按工资降序显示员工的姓名和工资,工资相同时按姓名降序排序。 SELECT EmployeeName,Salary FROM Employee
ORDER BY Salary DESC,EmployeeName DESC --2统计公司有多少名员工。
SELECT COUNT(EmployeeName) 员工人数 FROM Employee
--3查询所有员工的最高和最低工资信息。
SELECT MAX(Salary) 最高工资,MIN(Salary) 最低工资 FROM Employee
--4查询男女员工的平均工资。
SELECT Sex,AVG(Salary) 平均工资 FROM Employee GROUP BY Sex
--5在销售表Sell_Order表中,统计目前各种商品的订单总个数; SELECT ProductID,COUNT(SellOrderID) 订单总数 FROM Sell_Order GROUP BY ProductID
--6在销售表Sell_Order表中,查询目前订购总数量超过的商品订单信息。 SELECT ProductID,SUM(SellOrderNumber) 订购总数量 FROM Sell_Order GROUP BY ProductID
HAVING SUM(SellOrderNumber)>1000
--7在销售表Sell_Order表中,查询订购种以上商品的客户编号及订购商品种数。(包括两种商品)
SELECT CustomerID 客户编号,COUNT(DISTINCT ProductID) 订购商品数 FROM Sell_Order GROUP BY CustomerID
HAVING COUNT(DISTINCT ProductID)>=2
--8查询员工表Employee中部门编号为1的各员工信息,并计算平均工资。 SELECT * FROM Employee
WHERE DepartmentID=1 COMPUTE AVG(Salary)
--9对Employee表中部门编号为1或2的员工工资,按照其部门编号生成分组汇总行(汇总工资的均值)和明细行。 SELECT *