mysql連接查詢(xún)實(shí)例詳解

連接查詢(xún)就是將兩個(gè)或兩個(gè)以上的表,“連接起來(lái)”,當(dāng)做一個(gè)數(shù)據(jù)源,并從中去取得所需要的數(shù)據(jù);本文主要和大家分享mysql連接查詢(xún)實(shí)例詳解,希望能幫助到大家。

交叉連接 cross ?join:

沒(méi)有條件,只是按連接的基本概念,將所有數(shù)據(jù)行都連接起來(lái)的結(jié)果。它又叫做“笛卡爾積”;

對(duì)于表1(n1個(gè)字段,n2行),表2,(m1個(gè)字段,m2行),他們交叉連接的結(jié)果是:

  • 有n1+m1個(gè)列;

  • 有n2*m2個(gè)行;

形式有:

  • select * from ?表1, 表2;

  • select * from ?表1 ?join 表2;

  • select * from ?表1 ?cross ?join ?表2;

例:
mysql連接查詢(xún)實(shí)例詳解
mysql連接查詢(xún)實(shí)例詳解
結(jié)果:
mysql連接查詢(xún)實(shí)例詳解

內(nèi)連接 ?inner ?join:

形式:select ?* ?from ?表1 ?【inner】 ?join ?表2 ?on ?連接條件;

例:
mysql連接查詢(xún)實(shí)例詳解
結(jié)果:
mysql連接查詢(xún)實(shí)例詳解

注意:這種的表跟表之間的內(nèi)連接查詢(xún),雖然可以體現(xiàn)為表跟表之間的“關(guān)系”——通常就是外鍵關(guān)系——但并不是有外鍵關(guān)系才能使用這種連接。

可以使用as為其設(shè)置別名:
mysql連接查詢(xún)實(shí)例詳解

左(外)連接 left (outer) join:

形式:

表1(左表)??left??【outer】?join??表2(右表)??on??連接條件

含義:其實(shí)就是將兩個(gè)表的內(nèi)連接的結(jié)果,再加上左邊表的不符合內(nèi)連接所設(shè)定的條件的那些數(shù)據(jù)的結(jié)果;

例:
mysql連接查詢(xún)實(shí)例詳解
結(jié)果:
mysql連接查詢(xún)實(shí)例詳解

可見(jiàn),左連接的結(jié)果,左邊表的數(shù)據(jù),一定都會(huì)“全部取出”;

右(外)連接 right (outer) join:

形式:

表1(左表)??right??【outer】?join??表2(右表)??on??連接條件

含義:其實(shí)就是將兩個(gè)表的內(nèi)連接的結(jié)果,再加上右邊表的不符合內(nèi)連接所設(shè)定的條件的那些數(shù)據(jù)的結(jié)果;

例:
mysql連接查詢(xún)實(shí)例詳解
結(jié)果:
mysql連接查詢(xún)實(shí)例詳解

連接查詢(xún)

就是將兩個(gè)或兩個(gè)以上的表,“連接起來(lái)”,當(dāng)做一個(gè)數(shù)據(jù)源,并從中去取得所需要的數(shù)據(jù);

交叉連接 cross ?join:

沒(méi)有條件,只是按連接的基本概念,將所有數(shù)據(jù)行都連接起來(lái)的結(jié)果。它又叫做“笛卡爾積”;

對(duì)于表1(n1個(gè)字段,n2行),表2,(m1個(gè)字段,m2行),他們交叉連接的結(jié)果是:

  • 有n1+m1個(gè)列;

  • 有n2*m2個(gè)行;

形式有:

  • select * from ?表1, 表2;

  • select * from ?表1 ?join 表2;

  • select * from ?表1 ?cross ?join ?表2;

例:
mysql連接查詢(xún)實(shí)例詳解
mysql連接查詢(xún)實(shí)例詳解
結(jié)果:
mysql連接查詢(xún)實(shí)例詳解

內(nèi)連接 ?inner ?join:

形式:select ?* ?from ?表1 ?【inner】 ?join ?表2 ?on ?連接條件;

例:
mysql連接查詢(xún)實(shí)例詳解
結(jié)果:
mysql連接查詢(xún)實(shí)例詳解

注意:這種的表跟表之間的內(nèi)連接查詢(xún),雖然可以體現(xiàn)為表跟表之間的“關(guān)系”——通常就是外鍵關(guān)系——但并不是有外鍵關(guān)系才能使用這種連接。

可以使用as為其設(shè)置別名:
mysql連接查詢(xún)實(shí)例詳解

左(外)連接 left (outer) join:

形式:

表1(左表)??left??【outer】?join??表2(右表)??on??連接條件

含義:其實(shí)就是將兩個(gè)表的內(nèi)連接的結(jié)果,再加上左邊表的不符合內(nèi)連接所設(shè)定的條件的那些數(shù)據(jù)的結(jié)果;

例:
mysql連接查詢(xún)實(shí)例詳解
結(jié)果:
mysql連接查詢(xún)實(shí)例詳解

可見(jiàn),左連接的結(jié)果,左邊表的數(shù)據(jù),一定都會(huì)“全部取出”;

右(外)連接 right (outer) join:

形式:

表1(左表)??right??【outer】?join??表2(右表)??on??連接條件

含義:其實(shí)就是將兩個(gè)表的內(nèi)連接的結(jié)果,再加上右邊表的不符合內(nèi)連接所設(shè)定的條件的那些數(shù)據(jù)的結(jié)果;

例:
mysql連接查詢(xún)實(shí)例詳解
結(jié)果:
mysql連接查詢(xún)實(shí)例詳解

相關(guān)推薦:

mysql連接查詢(xún)左連接,右連接,內(nèi)連接實(shí)例詳解

mysql連接查詢(xún)左連接,右連接,內(nèi)連接實(shí)例詳解

mysql連接查詢(xún)左連接,右連接,內(nèi)連接實(shí)例詳解

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊7 分享