实验三 嵌套查询

一、实验目的:

掌握嵌套查询使我们可以用多个简单查询构成复杂的查询,从而增强SQL的查询能力。

二、实验内容

1、返回一个值的子查询

(1) 查询和“章宏”同一部门的员工号,员工姓名。

查询语句:

SELECT EmployeeID,EmployeeName
FROM Employee
WHERE DepartmentID IN
				(SELECT DepartmentID
				 FROM Employee
				 WHERE EmployeeName='章宏')

执行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VfXVogt3-1654697419466)(D:\typora\Picture\image-20220508214147951.png)]

(2)查询年龄最小的员工姓名、性别和工资。

查询语句:

SELECT EmployeeName,Sex,Salary
FROM Employee
WHERE BirthDate IN
				( SELECT MAX(BirthDate)
				  FROM Employee
				)

执行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nhpHJQMy-1654697419467)(D:\typora\Picture\image-20220508214518070.png)]

(3)查询比平均工资高的员工姓名和工资。

查询语句:

SELECT EmployeeName,Salary
FROM Employee
WHERE Salary >(SELECT AVG(Salary)
				FROM Employee
			   )

执行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cPGysn0a-1654697419468)(D:\typora\Picture\image-20220508215253332.png)]

2、返回一组值的子查询(嵌套查询和连接查询分别实现)

(1) 查询目前还没有接收到销售订单的员工姓名和工资信息。

  • 嵌套查询

    查询语句:

    SELECT EmployeeName,Salary
    FROM Employee
    WHERE EmployeeID NOT IN (SELECT EmployeeID
    						 FROM Sell_Order
    						 )
    

    执行结果:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T2sMAA1N-1654697419468)(D:\typora\Picture\image-20220508215940003.png)]

  • 连接查询(外连接)

    查询语句:

    SELECT EmployeeName,Salary
    FROM Employee LEFT OUTER JOIN Sell_Order ON(Employee.EmployeeID=Sell_Order.EmployeeID)
    WHERE SellOrderID IS NULL
    

    执行结果:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9hSZxTrH-1654697419469)(D:\typora\Picture\image-20220508220339969.png)]

(2) 查询订购牛奶的客户名称和联系地址。

  • 嵌套查询

    查询语句:

    SELECT ContactName,Address
    FROM Customer
    WHERE CustomerID IN (
    					SELECT CustomerID
    					FROM Sell_Order
    					WHERE ProductID IN (
    										SELECT ProductID
    										FROM Product
    										WHERE ProductName='牛奶'
    										)
    					)
    

    执行结果:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6ua2b6o6-1654697419470)(D:\typora\Picture\image-20220508221102516.png)]

  • 连接查询

    查询语句:

    SELECT ContactName,Address
    FROM Customer,Product,Sell_Order
    WHERE Customer.CustomerID=Sell_Order.CustomerID AND Sell_Order.ProductID=Product.ProductID AND ProductName='牛奶'
    

    执行结果:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A2TozoYO-1654697419470)(D:\typora\Picture\image-20220508221250608.png)]

(3) 查询客户表中订购商品总数量超过400的客户信息,输出公司名称,联系电话。

  • 嵌套查询

    查询语句:

    SELECT CompanyName,Phone
    FROM Customer
    WHERE CustomerID IN (
    					SELECT CustomerID
    					FROM Sell_Order
    					GROUP BY CustomerID
    					HAVING SUM(SellOrderNumber)>400
    					)
    

    执行结果:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y0jqPwR1-1654697419471)(D:\typora\Picture\image-20220508221607120.png)]

  • 连接查询

    查询语句:

    SELECT CompanyName,Phone
    FROM Customer,Sell_Order
    WHERE Customer.CustomerID=Sell_Order.CustomerID
    GROUP BY CompanyName,Phone
    HAVING SUM(SellOrderNumber)>400
    

    执行结果:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lDgn5dXD-1654697419471)(D:\typora\Picture\image-20220508222056252.png)]

三、实验总结

本次实验掌握了对表单的嵌套查询以及连接查询,还有连接查询和嵌套查询的相互转化,同时也涉及AVG函数、SUM函数等的运用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值