這幾天都在學(xué)mysql,中午被一道題卡住了
題為:實(shí)現(xiàn)goods表,category表,brand表,3表連接查詢,得出以下字段
goods_id |
cat_id |
cat_name |
brand_id |
brand_name |
goods_name |
里面有g(shù)oods、category、brand三張表,兩表聯(lián)查是會的
- <span style="font-family:'Microsoft YaHei';font-size:12px;">select goods_id,goods.cat_id,cat_name,goods.brand_id,goods_name from goods left join category on goods.cat_id = category.cat_id</span>
可是三表聯(lián)查卻有些繞了,剛開始按我的理解模式為,上面的查詢結(jié)果當(dāng)做一張表,再左連接
- <span style="font-family:'Microsoft YaHei';font-size:12px;">select goods_id,goods.cat_id,cat_name,goods.brand_id,brand_name,goods_name from goods left join category on goods.cat_id = category.cat_id left join brand on goods.brand_id = brand.brand_id;</span>
結(jié)果是出來了,可是感覺如昨天看的資料有點(diǎn)不一樣,昨天是把查詢結(jié)果當(dāng)做一張表,然后用括號括起來,再做左連接可發(fā)現(xiàn)不成功
- <span style="font-family:'Microsoft YaHei';font-size:12px;">select brand_name from (select goods_id,goods.cat_id,cat_name,goods.brand_id,goods_name from goods left join category on goods.cat_id = category.cat_id) as temp left join brand on goods.brand_id = brand.brand_id;</span>
后來仔細(xì)想想,發(fā)現(xiàn)應(yīng)該把
- <span style="font-family:'Microsoft YaHei';font-size:12px;">goods left join category on goods.cat_id = category.cat_id</span>
當(dāng)做一張表來看,那么結(jié)果就可以理解通順了。
之所以寫這個(gè),一是提醒下自己以后不要又陷入思維定式了,二是,今天中午也上網(wǎng)查了下資料,可是滿意的卻沒有,于是就整理下,寫了下來,高手勿哂。
|