1. 程式人生 > >數據庫將兩張表進行橫向連接(拼接成一張表的形式顯示)

數據庫將兩張表進行橫向連接(拼接成一張表的形式顯示)

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;

技術分享圖片

數據庫將兩張表進行橫向連接(拼接成一張表的形式顯示)