回顾
T-SQL语言基础
第十三讲
查询和视图
1 T-SQL高级查询
2 视图
3 小结
数据查询与视图
1 T-SQL高级查询
连接查询
使用分组
合并结果集
汇总计算
子查询
连接类型:内连接、外连接、自连接、交叉连接
连接查询
(自然连接)
FROM 表1 [inner] JOIN 表2 ON 条件表达式1
从学生信息表和教学成绩表中查询学生的学号、姓名、课程编号和分数
use 教学成绩管理数据库
select ,姓名,课程编号,分数
from 教学成绩表,学生信息表
where =
为数据表指定别名
从学生信息表、教学成绩表和课程信息表中查询学生的学号、姓名、课程名称和分数
use 教学成绩管理数据库
select ,姓名,,分数
from 教学成绩表 as cj
inner join 学生信息表 as xs on =
inner join 课程信息表 as kc on =
连接查询外连接
(1)左连接:
FROM 表1 LEFT [OUTER] JOIN 表2 ON 条件表达式
从[学生信息表]、[教学成绩表]和[课程信息表]中查询查询学生的[学号]、[姓名]、[课程名称]和[分数]
use 教学成绩管理数据库
select ,姓名,,分数
from 学生信息表 as xs
left join 教学成绩表 as cj on =
left join 课程信息表 as kc on =
(2)右外连接:
FROM 表1 RIGHT [OUTER] JOIN 表2 ON 条件表达式
从[学生信息表]、[教学成绩表]和[课程信息表]中查询查询学生的[学号]、[姓名]、[课程名称]和[分数]
use 教学成绩管理数据库
select , 姓名, , 分数
from 教学成绩表 as cj
join 学生信息表 as xs on =
right join 课程信息表 as kc on =
(3)全外连接:
FROM 表1 FULL [OUTER] JOIN 表2 ON 条件表达式
从[学生信息表]和[教师信息表]中查询同姓的教师和学生的[姓名]
use 教学成绩管理数据库
select left(,1) as 姓氏, as 学生姓名, as 教师姓名
from 教师信息表 as js
full join 学生信息表 as xs on left(,1) = left(,1)
连接查询
在同一张表内进行自身连接(必须为表指定两个别名)
从学生信息表中查询同名学生的姓名和学号
use 教学成绩管理数据库
select ,,
from 学生信息表 as xs1
join 学生信息表 as xs2 on =
where <>
SQL查询及视图 来自淘豆网www.taodocs.com转载请标明出处.