SQLServer--简单子查询
程序员文章站
2022-05-07 23:02:32
...
子查询的使用
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–表连接更适合于查看多表的数据