連接查詢(將具有管理關(guān)系的多個(gè)表連接起來(lái)進(jìn)行查詢操作)
1. 內(nèi)連接
語(yǔ)法格式:
· SELECT 字段名列表 FROM 表1 INNER JOIN 表2 ON 連接條件;
· SELECT 字段名列表 FROM 表1 INNER JOIN 表2 ON 連接條件 INNER JOIN 表2 ON 連接條件 ...;(多次內(nèi)聯(lián))案例:省、市、縣 三個(gè)表中查詢信息,縣中的father_id對(duì)應(yīng)市的id,市中的father_id對(duì)應(yīng)省中的province_id
(普通多表查詢中有案例表可參考)查出所有的省市信息 SELECT provincelist.province_name,citylist.city_name FROM provincelist INNER JOIN citylist ON provincelist.privince_id=citylist.father_id; 查詢出所有省市縣信息 SELECT provincelist.province_name,citylist.city_name,countrylist.country_name FROM provincelist INNER JOIN citylist ON provincelist.privince_id=citylist.father_id INNER JOIN countrylist ON citylist.city_id=countrylist.father_id;
2. 外連接(與其他區(qū)別:匹配不成功的記錄會(huì)顯示為NULL,普通多表查詢與內(nèi)連接查詢不顯示匹配失敗的記錄)
左連接(以左表為主,顯示查詢結(jié)果)
拿左表為基準(zhǔn),去右表尋找與左表相匹配的記錄,有值則記錄,無(wú)值則置NULL
語(yǔ)法格式:
· SELECT 字段名列表 FROM 表1 LEFT JOIN 表2 ON 連接條件;
· SELECT 字段名列表 FROM 表1 LEFT JOIN 表2 ON 連接條件 LEFT JOIN 表3 ON 連接條件...;
右連接
語(yǔ)法格式:
· SELECT 字段名列表 FROM 表1 RIGHT JOIN 表2 ON 連接條件;
· SELECT 字段名列表 FROM 表1 RIGHT JOIN 表2 ON 連接條件 RIGHT JOIN 表3 ON 連接條件...;案例:
查詢出所有省市縣信息(以左表參數(shù)為基準(zhǔn)) SELECT provincelist.province_name,citylist.city_name,countrylist.country_name FROM provincelist LEFT JOIN citylist ON provincelist.privince_id=citylist.father_id LEFT JOIN countrylist ON citylist.city_id=countrylist.father_id; 查詢出所有省市縣信息(以右表參數(shù)為基準(zhǔn)) SELECT provincelist.province_name,citylist.city_name,countrylist.country_name FROM provincelist RIGHT JOIN citylist ON provincelist.privince_id=citylist.father_id RIGHT JOIN countrylist ON citylist.city_id=countrylist.father_id;