读书人

内联接、左外连接与右外连接简易解析

发布时间: 2012-07-15 20:20:06 作者: rapoo

内连接、左外连接与右外连接简易解析

概念,大道理不多说了,是个IT人都知道内连接、左外连接与右外连接怎么回事,本文目的是为了方便理解和记忆,所以一切的前提都是为了简易方便,当然碰到复杂的问题,要具体问题具体分析。

?

创建表STUDENT
CREATE TABLE STUDENT(    SID INTEGER,    NAME VARCHAR(20) NOT NULL,    CONSTRAINTS STUDENT_SID_PK PRIMARY KEY(SID) );

?

创建表EXAM
CREATE TABLE EXAM(    EID INTEGER,    SCORE NUMBER(2) NOT NULL,    CONSTRAINTS STUDENT_EXAM_EID_FK FOREIGN KEY(EID) REFERENCES STUDENT(SID));
查看STUDENT表结构

内联接、左外连接与右外连接简易解析

查看EXAM表结构

内联接、左外连接与右外连接简易解析

?插入数据

?

INSERT INTO STUDENT(SID, NAME) VALUES(1, 'Struts');INSERT INTO STUDENT(SID, NAME) VALUES(2, 'Spring');INSERT INTO STUDENT(SID, NAME) VALUES(3, 'Hibernate');
INSERT INTO EXAM(EID, SCORE) VALUES(1, 99);INSERT INTO EXAM(EID, SCORE) VALUES(2, 88);

?

?

内连接 (显示两表id匹配的)
SELECT S.SID, S.NAME, E.EID, E.SCOREFROM STUDENT S INNER JOIN EXAM EON S.SID = E.EID;
?结果

内联接、左外连接与右外连接简易解析

?

?

左连接(显示join 左边的表的所有数据)?

SELECT S.SID, S.NAME, E.EID, E.SCOREFROM STUDENT S LEFT OUTER JOIN EXAM EON S.SID = E.EID;
?结果

内联接、左外连接与右外连接简易解析

右连接(显示join 右边的表的所有数据)?
SELECT S.SID, S.NAME, E.EID, E.SCOREFROM STUDENT S RIGHT OUTER JOIN EXAM EON S.SID = E.EID;
?结果

内联接、左外连接与右外连接简易解析

?

?

读书人网 >其他数据库

热点推荐