數據庫將兩張表進行橫向連接(拼接成一張表的形式顯示)
阿新 • • 發佈:2019-01-01
join 語句 left RoCE 並且 student size ges mage 將兩張沒有關聯字段的表進行橫向連接,在工作中,對於一些報表的顯示,需要展示兩張沒有關聯字段的表中的數據,並且橫向連接,比如下面兩張表的數據:
SELECT * FROM STUDENT T;
SELECT * FROM COURSE C;
現在需要顯示成如下圖所示樣式:
此時這兩張表之間並沒有相關聯的字段,我們經常用的left join,right join, full join 都是需要相關聯的字段的,所以我們就找一個相同關聯的字段---ROWNUM,唯一且能關聯,再使用全連接full join 就能解決了問題了,SQL語句如下:
SELECT A.*, B.* FROM (SELECT S.*, ROWNUM RN FROM STUDENT S) A FULL JOIN (SELECT C.*, ROWNUM RN FROM COURSE C) B ON A.RN = B.RN;
查詢結果如下:
可以看出通過rownum 和full join 就能輕松的實現良兩張表的橫向連接展示了。
如果不想顯示RN這一列的話,就不要用*就OK了,需要什麽字段顯示什麽字段:
SELECT A.ID, A.NAME, A.CLASS, B.ID, B.C_NAME
FROM
(SELECT S.*, ROWNUM RN FROM STUDENT S) A
FULL JOIN
(SELECT C.*, ROWNUM RN FROM COURSE C) B
ON A.RN = B.RN;
數據庫將兩張表進行橫向連接(拼接成一張表的形式顯示)