很基礎的SQL 內連線與外連線

2021-06-29 06:06:07 字數 964 閱讀 5746

一直以來有些問題會很鬱悶,如:為什麼會同時存在左右連線這個東西,假如外來鍵為空,那麼建立語句時就會存在外來鍵約束失敗的問題。

後來仔細研究了下,內連線、外連線(左連線、右連線)是建立在不存在主外來鍵約束關係的表之中。

其實都是很基礎的東西了,我之前沒搞明白,今天花時間整理了下。

首先select * from t_class

然後select * from t_student

1,內連線

內連線:利用內連線可獲取兩表的公共部分的記錄,即圖3的記錄集c 語句如下:select * from t_class join t_student on t_class.id=t_student.belongclass_id 執行結果如下圖4所示:它與select * from t_student,t_class where t_class.id=t_student.belongclass_id;的執行結果是一樣的。

2.外連線分為左連線和右連線

左連線(公共部分加t_student的記錄)

右連線(公共部分加t_class的記錄)

SQL的內連線與外連線

在oracle的sql語句常用的連線有內連線 inner join 外連線 outer join 等,內連線又包括等值連線,非等值連線,自連線 而外連線又分為左連線和右連線。其中預設的是內連線的等值連線。為了方便我們建立兩張最簡易的表a b,具體的表結構參看下面,來分析內連線與外連線的區別 圖1 圖...

SQL的內連線與外連線

有兩個表a和表b。表a結構如下 aid int 標識種子,主鍵,自增id aname varchar 資料情況,即用select from a出來的記錄情況如下圖1所示 表b結構如下 bid int 標識種子,主鍵,自增id bnameid int 資料情況,即用select from b出來的記錄...

SQL 內連線,外連線

假設一堆男女在教堂,有夫婦有單身的,假設男為左表,女為右表 教父說 結了婚的人請出去,結了婚的人請手拉手,於是結了婚的男女站了起來,這就是inner 內連 教父說 男的並且和這些男的結婚的女的請出去,結了婚的人請手拉手,於是,結了婚的夫婦手拉手出去,單身的男的也出去了。這就是 left 左連 教父說...