码迷,mamicode.com
首页 > 数据库 > 详细

T-SQL查询语句 第二部分 (多表查询)

时间:2016-08-22 16:34:48      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:sql   查询   语句   

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

技术分享





本文出自 “一盏烛光” 博客,请务必保留此出处http://yw666.blog.51cto.com/11977292/1840977

T-SQL查询语句 第二部分 (多表查询)

标签:sql   查询   语句   

原文地址:http://yw666.blog.51cto.com/11977292/1840977

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!