佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 你知道哪幾種MYSQL的連接查詢

你知道哪幾種MYSQL的連接查詢

熱門標(biāo)簽:Linux服務(wù)器 AI電銷 百度競價排名 鐵路電話系統(tǒng) 服務(wù)外包 地方門戶網(wǎng)站 呼叫中心市場需求 網(wǎng)站排名優(yōu)化

前言

查詢信息的來源如果來自多張表,則必須對這些表進行連接查詢。連接是把不同表的記錄連到一起的最普遍的方法,通過連接查詢可將多個表作為一個表進行處理。連接查詢分為內(nèi)連接和外連接。

一,交叉連接

交叉連接,又稱“笛卡爾連接”或“叉乘”,它是所有類型的內(nèi)連接的基礎(chǔ)。

示例:實現(xiàn)線路表與車輛表,其語句如下:

`slelect*from line CROSS JOIN vehicle 等價于:select*from line,vehicle

二,內(nèi)連接

內(nèi)連接是應(yīng)用程序中非常常見的連接操作,它一般都是默認(rèn)的連接類型。

語法如下:

SElECT fieldlist FROM table1 【INNER】JOIN table2 ON 
table1.column1=table2.column2 【where condition】

三,自然連接

自然連接是一種特殊的內(nèi)連接,它要求相連的兩張表的依據(jù)列必須是相同字段(字段名相同,字段屬性相同)。
語法如下:

select fieldlist FROM table1 NATURAL JOIN table2 【where condition】

四,多表連接查詢

如果查詢的信息來源多張表,則可通過兩兩相連的反式建立多表連接查詢。

三表連接查詢語法如下:

SELECT fieldllist FROM table1 JOIN table2 ON 
tabke1.column1=table.column2_1 JOIN table3 on
 table2.column2_2=table.column3【where condition】

如果在FROM子句中,直接列出所有要連接的表,然后在WHERE子句中指定連接條件,此為簡單多表查詢,它與內(nèi)連接功能相同。

使用兩表連接查詢語法格式如下:

SELECT fieldlist FROM table1, table2
HERE table1.column1=table2.column2 【and其他條件】

五,外連接

在內(nèi)連接查詢中,只有滿足連接條件的記錄才能出現(xiàn)在查詢結(jié)果中。但在實際血用中,如果秀望不滿足連接條件的記錄也在查詢結(jié)果中出現(xiàn),這時需要使用外連接查詢。外連接分左外連接和右外連接。

語法如下:

`SELECT字段名稱FROM表名1 LEFT|RIGHT|FULL [OUTER] JOIN 表名2 ON 表名1.字段名1=表名2.字段名2`

1,左外連接

在外連接的結(jié)果集包括左表的所有記錄和右表中滿足連接條件的記錄,結(jié)果集中那些不符合連接條件的來源于表的列值為nullo。

2,右外連接

右外連接是左外連接的反向連接。右外連接的結(jié)果集包括右表的所有記錄和左表中滿足連換條件的記象,結(jié)果集中那些不符合連接條件的來源于左表的列值為nullo。

作業(yè):

獲取所有非空調(diào)車的車牌號、型號和司機姓名、所屬線路的線路號、起點站和終點站信息;

SELECT
	v.plateNO 車牌號,
	v.model 型號,
	d. NAME 司機姓名,
	l.lineNo 線路號,
	l.from_station 起點站,
	l.end_station 終點站
FROM
	line l,
	vehicle v,
	driver d
WHERE
	v.type = '非空調(diào)車'
AND l.lineID = v.lineID
AND d.driverID = v.driverID;

獲取公交二公司所有司機信息。要求輸出司機姓名、身份證、性別和電話;

SELECT
	NAME 司機姓名,
	licenseNO 身份證,
	d.gender 性別,
	phone 電話
FROM
	vehicle v,
	driver d,
	line l
WHERE
	v.driverID = d.driverID
AND v.lineID = l.lineID
AND company = '公交二公司'
GROUP BY 

查詢所有非空調(diào)車的車牌號、型號、線路號、起點站和終點站;

SELECT
v.plateNO 車牌號,
	v.model 型號,
	l.lineNo 線路號,
	l.from_station 起點站,
	l.end_station 終點站
FROM
	line l,
	vehicle v
WHERE
	v.type = '非空調(diào)車'
AND l.lineID = v.lineID;

顯示所有線路及其所配車輛基本信息,并查詢車輛所配司機相關(guān)信息,要求輸出司機姓名、性別、電話、車牌號、型號、線路號、起點站和終點站;

	SELECT
	d.NAME 司機姓名,
	licenseNO 身份證,
	d.gender 性別,
	phone 電話,
	v.plateNO 車牌號,
	v.model 型號,
	l.lineNo 線路號,
	l.from_station 起點站,
	l.end_station 終點站
FROM
	vehicle v,
	driver d,
	line l
WHERE
	v.driverID = d.driverID
AND v.lineID = l.lineID
GROUP BY 司機姓名;

6.獲取訂單 ID 為 4 的訂購明細信息,要求輸出商品名、單價和件數(shù)。

SELECT
	c.cName 客戶姓名,
	o.ordersDate 下單日期,
	g.goodsName 商品名,
	g.unitPrice 單價,
	od.quantity 件數(shù)
FROM
	ordersdetail od,
	goods g,
	orders o,
	customer c
WHERE
	c.cName = '王傳華'
AND c.customerID = o.customerID
AND o.ordersID = od.ordersID
AND od.goodsID = g.goodsID;

獲取客戶“王傳華”所下訂單詳細信息,要求顯示客戶姓名、訂單 ID、下單日期、商品名、單價和件數(shù)。

SELECT
	c.cName 客戶姓名,
	o.ordersDate 下單日期,
	g.goodsName 商品名,
	g.unitPrice 單價,
	od.quantity 件數(shù)
FROM
	ordersdetail od,
	goods g,
	orders o,
	customer c
WHERE
	c.cName = '王傳華'
AND c.customerID = o.customerID
AND o.ordersID = od.ordersID
AND od.goodsID = g.goodsID;

使用左接獲取所有客戶的基本信息以及訂購信息,要求輸出客戶姓名、電話、訂單 ID 和下單時間。

SELECT
	c.cName 客戶姓名,
	c.phone 電話,
	o.ordersID 訂單ID,
	o.ordersDate 下單時間
FROM
	 customer c
LEFT JOIN orders o on c.customerID=o.customerID;

8.使用右接獲取所有客戶的基本信息以及訂購信息,要求輸出客戶姓名、電話、訂單 ID 和下單時間。

SELECT
	c.cName 客戶姓名,
	c.phone 電話,
	o.ordersID 訂單ID,
	o.ordersDate 下單時間
FROM
	orders o
right JOIN customer c on c.customerID=o.customerID;

總結(jié)

到此這篇關(guān)于MYSQL連接查詢的文章就介紹到這了,更多相關(guān)MYSQL連接查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL中基本的多表連接查詢教程
  • php基礎(chǔ)之連接mysql數(shù)據(jù)庫和查詢數(shù)據(jù)
  • 詳解MySQL中的分組查詢與連接查詢語句
  • mysql連接查詢(左連接,右連接,內(nèi)連接)
  • MySQL優(yōu)化之使用連接(join)代替子查詢
  • MySQL筆記之連接查詢詳解
  • Mysql自連接查詢實例詳解
  • mysql多表連接查詢實例講解

標(biāo)簽:湖南 銅川 仙桃 衡水 蘭州 黃山 湘潭 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《你知道哪幾種MYSQL的連接查詢》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    休宁县| 和林格尔县| 保亭| 灵丘县| 永顺县| 江都市| 崇信县| 巴青县| 上饶县| 长白| 垦利县| 房产| 新宾| 射阳县| 花垣县| 垫江县| 东乡族自治县| 普兰店市| 东乡县| 金溪县| 临邑县| 易门县| 岚皋县| 旬邑县| 自贡市| 高要市| 黄梅县| 叙永县| 泗阳县| 鹿泉市| 建水县| 桓台县| 兰州市| 鄂尔多斯市| 兴隆县| 察隅县| 布拖县| 勃利县| 友谊县| 濮阳市| 郎溪县|