Mysql連線的使用教程

2021-12-30 06:03:53 字數 3020 閱讀 6520

join 按照功能大致分為如下三類:

a inner join b on 條件(內連線,或等值連線):獲取兩個表中字段匹配關係的記錄。

a left join b on條件(左連線):獲取左表所有記錄,即使右表沒有對應匹配的記錄。

a right join b on 條件(右連線): 與 left join 相反,用於獲取右表所有記錄,即使左表沒有對應匹配的記錄。

內連線查詢

inner join子句的語法如下:

selectcolumn_list

fromt1

innerjoint2onjoin_condition1

innerjoint3onjoin_condition2

...wherewhere_conditions;

mysql inner join支援使用等於以外的運算子,但是也可以使用大於(>),小於()運算子的其他運算子來形成連線謂詞。

例項:#兩張表的資料如下:

mysql>select*fromgirl;

+-----+--------+

|hid|bname|

+-----+--------+

|3|默默|

|2|羞羞|

|5|海燕|

+-----+--------+

3rowsinset(0.00sec)

mysql>select*fromboy;

+-----+--------+

|hid|bname|

+-----+--------+

|1|lisi|

|2|王五|

|3|趙六|

+-----+--------+

3rowsinset(0.00sec)

#查詢boy表和girl表中hid想同的bname。

mysql>selectboy.hid,boy.bname,girl.hid,girl.bname

->from

->boyinnerjoingirlonboy.hid=girl.hid;

+-----+--------+-----+--------+

|hid|bname|hid|bname|

+-----+--------+-----+--------+

|3|趙六|3|默默|

|2|王五|2|羞羞|

+-----+--------+-----+--------+

2rowsinset(0.01sec)

#查詢boy和girl表中資料,boy.hid=3的行.

mysql>selectboy.hid,boy.bname,girl.hid,girl.bnamefromboyinnerjoingirlonboy.hid=girl.hidwhereboy.hid=3;

+-----+--------+-----+--------+

|hid|bname|hid|bname|

+-----+--------+-----+--------+

|3|趙六|3|默默|

+-----+--------+-----+--------+

1rowinset(0.00sec)

#查詢boy和girl表中資料,」boy.hid=girl.hid=3「的行.

mysql>selectboy.hid,boy.bname,girl.hid,girl.bnamefromboyinnerjoingirlonboy.hid=girl.hidwhereboy.hidandgirl.hid=3;

+-----+--------+-----+--------+

|hid|bname|hid|bname|

+-----+--------+-----+--------+

|3|趙六|3|默默|

+-----+--------+-----+--------+

1rowinset(0.00sec)

注意:在匹配階段 where 子句的條件都不會被使用.僅在匹配階段完成以後,where 子句條件才會被使用。它將從匹配階段產生的資料中檢索過濾.

左連線查詢

mysql left join 與 join 有所不同,mysql left join 會讀取左邊資料表的全部資料,即便右邊表無對應資料.

例項:#以左表所有的資料為準,查詢右表所有的資料,匹配不到以"null"代替。

mysql>selectboy.hid,boy.bname,girl.hid,girl.bnamefromboyleftjoingirlonboy.hid=girl.hid;

+-----+--------+------+--------+

|hid|bname|hid|bname|

+-----+--------+------+--------+

|3|趙六|3|默默|

|2|王五|2|羞羞|

|1|lisi|null|null|

+-----+--------+------+--------+

3rowsinset(0.00sec)

注意:如果 b 表中沒有任何一行資料匹配 on 的條件,將會額外生成一行所有列為 null 的資料。

右連線查詢

mysql right join 會讀取右邊資料表的全部資料,即便左邊邊表無對應資料。

mysql>selectboy.hid,boy.bname,girl.hid,girl.bnamefromboyrightjoingirlonboy.hid=girl.hid;

+------+--------+-----+--------+

|hid|bname|hid|bname|

+------+--------+-----+--------+

|2|王五|2|羞羞|

|3|趙六|3|默默|

|null|null|5|海燕|

+------+--------+-----+--------+

3rowsinset(0.00sec)

三種連線的區別:

mysql連線教程 MySQL 連線

mysql 連線 使用mysql二進位制方式連線 您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例項以下是從命令列中連線mysql伺服器的簡單例項 root host mysql u root p enter password 在登入成功後會出現 mysql 命...

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

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

mysql教程連線 mysql怎麼連線服務

連線mysql可以使用二進位制方式連線 您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例如以下是從命令列中連線mysql伺服器的簡單例項 root host mysql u root p enter password 在登入成功後會出現 mysql 命令提示視窗...