[数据库基础]-- SQL内链接、外链接举例
原创
©著作权归作者所有:来自51CTO博客作者high2011的原创作品,请联系作者获取转载授权,否则将追究法律责任
主题:SQL内链接、外链接定义和举例
一、SQL内链接、外链接定义
1、SQL内链接:将2张表按照on的条件,返回公共部分
表示如图:
(1)sql第一种形式
select * from Table_1 t1,Table_2 t2 where t1.id=t2.id;
(2)sql第二种形式
select * from Table_1 t1 inner join Table_2 t2 on t1.id=t2.id;
2、SQL外连接:包含左链接和右连接
--1)、左链接,如图
select * from Table_1 t1 left join Table_2 t2 on t1.id =t2.id ;
select * from Table_1 t1 left outer join Table_2 t2 on t1.id =t2.id;
--2)、右链接,如图
sql举例:select * from Table_1 t1 right join Table_2 t2 on t1.id=t2.id;
select * from Table_1 t1 right outer join Table_2 t2 on t1.id =t2.id;
二、SQL内链接、外链接举例
1、创建2张测试表、并且添加测试数据
-- 1、创建学生表
CREATE TABLE `t_student` (
`id` int(11) COMMENT '课程id',
`name` varchar(40) NOT NULL COMMENT '姓名',
`student_id` int(4) NOT NULL COMMENT '学生编号'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '学生表';
-- 2、创建课程表
CREATE TABLE `t_course` (
`id` int(11) COMMENT '课程id',
`name` varchar(40) NOT NULL COMMENT '名称'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '课程表';
--3、插入测试数据
INSERT INTO `t_student` VALUES (1,'张三',101);
INSERT INTO `t_student` VALUES (2,'李四',102);
INSERT INTO `t_student` VALUES (3,'王五',103);
INSERT INTO `t_student` VALUES (4,'张三',101);
INSERT INTO `t_student` VALUES (5,'李四',102);
INSERT INTO `t_student` VALUES (7,'李四',103);
INSERT INTO `t_course` VALUES (1,'语文');
INSERT INTO `t_course` VALUES (2,'数学');
INSERT INTO `t_course` VALUES (3,'英语');
INSERT INTO `t_course` VALUES (4,'物理');
INSERT INTO `t_course` VALUES (5,'化学');
INSERT INTO `t_course` VALUES (6,'生物');
2、测试内链接
-- 内链接:
select * from t_student ts inner join t_course tc on ts.id=tc.id;
-- 结果:
3、测试外链接(左连接和右链接)
--1)、左链接:select * from t_student ts left join t_course tc on ts.id=tc.id;
--2)、右链接:select * from t_student ts right join t_course tc on ts.id=tc.id;
注:以上内容可能有不全面,欢迎各位朋友批评指正!谢谢