内连接、左外连接与右外连接简易解析
概念,大道理不多说了,是个IT人都知道内连接、左外连接与右外连接怎么回事,本文目的是为了方便理解和记忆,所以一切的前提都是为了简易方便,当然碰到复杂的问题,要具体问题具体分析。
?
创建表STUDENTCREATE TABLE STUDENT( SID INTEGER, NAME VARCHAR(20) NOT NULL, CONSTRAINTS STUDENT_SID_PK PRIMARY KEY(SID) );
?
创建表EXAMCREATE TABLE EXAM( EID INTEGER, SCORE NUMBER(2) NOT NULL, CONSTRAINTS STUDENT_EXAM_EID_FK FOREIGN KEY(EID) REFERENCES STUDENT(SID));查看STUDENT表结构


?
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;?结果

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

?
?