关于表连接
目录
1.左连接
2.右连接
3.内连接
4.全外连接
5.笛卡尔积
-- 创建表A
CREATE TABLE A(PNO VARCHAR2(10) PRIMARY KEY, PAMT NUMBER, A_DATE DATE);-- 向表A插入数据
INSERT INTO A VALUES ('01001', 100, TO_DATE('2005-01-01', 'YYYY-MM-DD'));
INSERT INTO A VALUES ('01002', 150, TO_DATE('2005-02-01', 'YYYY-MM-DD'));-- 创建表B
CREATE TABLE B(ENO VARCHAR2(10) PRIMARY KEY,PNO VARCHAR2(10),EAMT NUMBER,B_DATE DATE);-- 向表B插入数据
INSERT INTO B VALUES ('0101001', '01001', 10, TO_DATE('2005-01-05', 'YYYY-MM-DD'));
INSERT INTO B VALUES ('0201001', '01001', -15, TO_DATE('2005-01-21', 'YYYY-MM-DD'));
INSERT INTO B VALUES ('0301001', '01002', -5, TO_DATE('2005-02-11', 'YYYY-MM-DD'));
INSERT INTO B VALUES ('0101002', '01003', 50, TO_DATE('2005-02-11', 'YYYY-MM-DD'));
COMMIT;
A表:
B表:
1.左连接
SELECT * FROM A LEFT JOIN B ON A.PNO = B.PNO;
2.右连接
SELECT * FROM A RIGHT JOIN B ON A.PNO = B.PNO;
3.内连接
SELECT * FROM A INNER JOIN B ON A.PNO = B.PNO;
4.全外连接
SELECT * FROM A FULL JOIN B ON A.PNO = B.PNO;
5.笛卡尔积
SELECT * FROM A CROSS JOIN B;