MS SQL——高级数据查询
作者:互联网
高级数据查询
示例
使用变量方式实现的查询
1 use StudentManageDB 2 go 3 declare @StuId int 4 --查询张永利学号 5 select @StuId=StudentId from Students where StudentName='张永利' 6 --查询学号排在张永利后面的学员 7 select StudentId,StudentName,Gender,Birthday from Students 8 where StudentId>@StuIdView Code
简单子查询的使用
1 use StudentManageDB 2 go 3 4 --查询学号排在张永利后面的学员 5 select StudentId,StudentName,Gender,Birthday from Students 6 where StudentId>(select StudentId from Students where StudentName='张永利')View Code
使用表连接查询
1 use StudentManageDB 2 go 3 --使用等值连接查询 4 select StudentName from Students 5 inner join ScoreList on Students.StudentId=ScoreList.StudentId 6 where SQLServerDB>90 7 8 select StudentId,StudentName from Students 9 select StudentId,SQLServerDB from ScoreListView Code
使用子查询替换表连接
1 use StudentManageDB 2 go 3 --使用子查询 4 select StudentName from Students 5 where StudentId=(select StudentId from ScoreList where SQLServerDB>90)View Code
IN子查询的使用
1 use StudentManageDB 2 go 3 --select StudentName from Students 4 --where StudentId=(select StudentId from ScoreList where SQLServerDB>80) 5 select StudentName from Students 6 where StudentId in (select StudentId from ScoreList where SQLServerDB>80)View Code
NOT IN子查询的使用
1 use StudentManageDB 2 go 3 select StudentId,StudentName from Students 4 where StudentId not in(select StudentId from ScoreList)View Code
EXISTS子查询的使用
1 use StudentManageDB 2 go 3 if exists(select * from ScoreList where CSharp<60) 4 print '本次考试内容较难' 5 else 6 print '本次考试内容适中' 7 8 --NOT EXISTS的使用 9 if not exists(select * from ScoreList where CSharp<60) 10 print '本次考试内容适中' 11 else 12 print '本次考试内容较难'View Code
END
标签:StudentId,Students,查询,StudentName,MS,SQL,where,select 来源: https://www.cnblogs.com/zeon/p/16324402.html