MySQL的連線型別

2022-05-05 06:03:06 字數 1622 閱讀 5599

首先我們來建立兩個資料表:

結構:我們用內連線來檢視一下:

由於內連線是等值連線,所以結果是顯示左右表中匹配的資料

再用左連線檢視:

可以看到,左連線先取出test1的所有資料,再加上與test2和test1匹配的資料,如果左連線的話,一旦aid不相同,那麼就會整行資料都顯示null

至於右連線,實際上和左連線類似,只是參照表不同

另外,left  outer和left  的結果是一樣的,假如輸入

select  *  from  test1  left  outer  join  test2  on  test1.aid=test2.aid;

結果也是和left的一樣。除了返回符合連線條件的結果之外,還需要顯示左表中不符合連線條件的資料列,相對應使用null對應

交叉連線

select  *  from  test1  cross  join  test2;

和下面等效:

select a.*,b.* from test1 a,test2 b a.aid=b.aid;

結果就是兩個表相乘

這樣一看,好像交叉連線的意義不大,但是交叉連線可以用在行顯示轉換成列顯示

全連線full  join或full outer  join

全連線就是在匹配值的基礎上將左右表的未匹配資料都加上

select  *  from test1  full join test2  on  test1.aid=test2.aid;

但是你會發現這樣輸入之後會報錯,原因在於mysql中並不支援full  join,那麼怎麼辦呢?

等效的寫法是:

自然連線

nacture  join

要求兩個表中進行比較的必須是相同的屬性列,不需要新增連線條件,並且在結果中消除重複的屬性列

mysql 連線 MySQL的連線方式

連線mysql操作是連線程序和mysql資料庫例項進行通訊。從開發的角度來說,本質上是程序通訊。常用的程序通訊方式有管道 命名管道 命名字 tcp ip套接字 unix網域名稱套接字。mysql提供的連線方式從本質上看都是上述提及的程序通訊方式。tcp ip tcp ip套接字方式是mysql在任何...

mysql的連線錯誤 Mysql連線錯誤

function getmysqlconnection host,user,pass,database else mysqlerror false 我已經建立了乙個上面的函式,它實現了給定mysql使用者憑據的連線 我通過使用實現了這個功能 require myfunc.php getmysqlco...

mysql連線的使用 mysql連線的使用

表一 myclass myclass 用作左表 表二 me me 用作右表 使用 mysql 的 join 在兩個或多個表中查詢資料 你可以在 select,update 和 delete 語句中使用 mysql 的 join 來聯合多表查詢。join 按照功能大致分為如下三類 inner join...