主題: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;
注:以上内容可能有不全面,歡迎各位朋友批評指正!謝謝