T-SQL查询语句大总结
防伪码:有志者事竟成,破釜沉舟,百二秦关终属楚
案例六:表如下图所示
在数据库中显示为:
实验需求:
1、两个表查询
select 学生表.姓名,学生表1.电话,学生表1.家庭住址
from 学生表,学生表1
where 学生表.学生id=学生表1.学生id
2、三个表的查询
select 学生表.姓名,课程表.课程名,成绩表.分数
from 学生表,课程表,成绩表
where 学生表.学生id=成绩表.学生id AND 成绩表.课程ID=课程表.课程ID
3、合并两个结果集
SELECT 姓名,学号,班级,国籍
FROM 二班
UNION
select 姓+‘ ‘+名,学号,班级,国籍
from 一班
order by 班级 desc,学号 asc
4、内联接(查找参加考试的学生的姓名和CNT成绩,电话)
select s.姓名,s.电话,c.CNT
FROM 学生基本信息表 AS S INNER JOIN 学生成绩表 AS C
ON S.姓名=C.姓名
5、左外连接(查找本班学生的姓名和CNT才成绩,电话)
select s.姓名,s.电话,c.CNT
FROM 学生基本信息表 AS S LEFT OUTER JOIN 学生成绩表 AS C
ON S.姓名=C.姓名
6、右外连接(查找参加本次考试的学生的姓名和CNT才成绩,电话)
select s.姓名,s.电话,c.CNT
FROM 学生基本信息表 AS S RIGHT OUTER JOIN 学生成绩表 AS C
ON S.姓名=C.姓名
7、完全连接(查找所有学生的考试情况)
select s.姓名,s.电话,c.CNT
FROM 学生基本信息表 AS S FULL OUTER JOIN 学生成绩表 AS C
ON S.姓名=C.姓名
8、自连接(查找每个员工的上司姓名)
SELECT Y.员工姓名,s.员工姓名 AS 上司姓名
from 员工信息表 as y inner join 员工信息表 as s
on y.上司ID=S.员工ID
9、子查询(查找每个季度的生产数量,百分比)
select 季度,sum(生产数量) AS 每个季度的生产数量,
str((sum(生产数量)/(select sum(生产数量) from 生产表))*100)+‘%‘ AS 百分比
from 生产表
group by 季度
order by 季度
10、在where子句中使用SELECT ,查找课程ID=1并且成绩〉80的学生
select 学生表.姓名
from 学生表
where 80<(select 分数 from 成绩表
where 学生表.学生ID=成绩表.学生ID AND 成绩表.课程ID=1)
11、 交叉连接
SELECT T.教师姓名,c.课程名
from 教员基本信息表 AS t cross join 课程表 AS C