数据库
首页 > 数据库> > MS SQL——高级数据查询

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>@StuId
View 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 ScoreList
View 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