SQLServer--简单子查询

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36482772/article/details/77715295

子查询的使用

这里写图片描述

use StuManageDB
go
--使用变量方式实现
declare @StuId int

Select @StuId=StudentId from Students where StudentName='张永利'
Select StudentName,Gender,Age from Students 
where StudentId>@StuId

--使用子查询实现
Select StudentName,Gender,Age from Students
where StudentId>(Select StudentId from Students where StudentName='张永利')

使用子查询替换表连接查询

查询成绩大于90的学员姓名

这里写图片描述


--使用等值连接查询
select StudentName from Students
inner join ScoreList on Students.StudentId = ScoreList.StudentId
where SQLServerDB>90

--使用子查询
Select StudentName from Students where StudentId=
(Select StudentId from ScoreList where SQLServerDB>90)

子查询使用总结

测试 大于80的学员姓名
这里写图片描述

1–表连接可以用子查询替换,但有的子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
2–子查询比较灵活、方便、常作为增删改查的筛选条件、适合操纵于一个表的数据
3–表连接更适合于查看多表的数据

展开阅读全文

没有更多推荐了,返回首页