將兩張沒有關聯字段的表進行橫向連接,在工作中,對於一些報表的顯示,需要展示兩張沒有關聯字段的表中的數據,並且橫向連接,比如下面兩張表的數據:
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;