一、基本连接
基本原则:
1.SELECT子句列表中,每个目标列前都要加上基表名称
2.FROM子句应包括所有使用的基表
3.WHERE子句应定义一个同等连接
实例:
select a.student_Name,a.student_ID,a.exam_No,b.director from result_Info a,class_Info b where a.class_No =b.class_No
二、内连接
语法格式:
SELECT 目标列
FROM 表1 [NNER]JOIN 表2 [ON 连接条件]
[WHERE子句]
[ORDER BY子句]
实例:
SELECT a.班级名,a.班级人数,b.姓名,b.联系方式 from 班级信息 a inner join 辅导员信息 b ON a.辅导员=b.辅导员编号 and b.性别=’女’
三、外连接
1、内连接和外连接的区别:
内连接消除与另一个表的任何行不匹配的行,而外连接会返回FROM子句中提到的至少一个表或视图中的所有行,只要这些行符合任何搜索条件
外连接中参与连接的表有主从之分,
以主表的每行数据去匹配从表中的数据行,如果符合连接条件,直接返回查询结果中,如果主表中的行在从表中没有找到匹配的行,主表的行仍然保留,并返回到查询结果中,相应的从表中的行中被填上空值后也返回到查询结果中
2、外连接
外连接分类:左外连接,右外连接,全连接
左外连接:以左边的数据表为主表
SELECT a.exam_No,a.course_Name,a.result,a.class_No,b.student_Name, b.student_Sex ,b.tele_Number from result_Info a
left
outer
join
student_Info b on a.student_ID = b.student_ID
右外连接:以右边的数据表为主表
SELECT a.exam_No,a.course_Name,a.result,a.class_No,b.student_Name, b.student_Sex ,b.tele_Number from result_Info a
right
outer
join
student_Info b on a.student_ID = b.student
3、全连接
返回左表和右表中的所有行,显示所有数据
SELECT a.exam_No,a.course_Name,a.result,a.class_No,b.student_Name, b.student_Sex ,b.tele_Number from result_Info a
full
outer
join
student_Info b on a.student_ID = b.student_ID