JOIN 關聯(lián)查詢是mysql開發(fā)應用中多表之間一起查詢非常重要的一個sql命令了,下面我給各位整理了關于JOIN 關聯(lián)查詢的一些小例子與經(jīng)驗分享,希望對各位會有所幫助.
現(xiàn)在我們先來看在SQL 關聯(lián)查找JOIN,這是我初期的一大問題,,兩個表之間怎么建立關聯(lián),實際上,有個東西叫做JOIN,然后還有INNER JOIN,RIGHT JOIN,LEFT JOIN.
我基本上用的都是LEFT JOIN,那么RIGHT JOIN大家懂得=A=其他我也沒用過.
不同的參考:
JOIN: 如果表中有至少一個匹配,則返回行
LEFT JOIN: 即使右表中沒有匹配,也從左表返回所有的行
RIGHT JOIN: 即使左表中沒有匹配,也從右表返回所有的行
FULL JOIN: 只要其中一個表中存在匹配,就返回行
這里舉一個M-Show用到的栗子,代碼如下:
- SELECT show_person.uid, show_person.nickname, show_category.category,show_category.id FROM show_person Left JOIN show_category on show_person.category=show_category.id WHERE show_category.id=$category ORDER BY show_person.uid
把person和category建立關聯(lián),主表(自造詞= =)是person,所以person完整輸出,即使沒有category定義.
SELECT部分用表.字段,如果一個表要全部選中,字段選擇用 *,但是據(jù)說效率會變低.
現(xiàn)在再次用到又學到了點新的東西,首先還是這段代碼,還是的理由是因為上一篇文章,代碼如下:
- SELECT pr_rates.pid,count(pr_rates.ip),pr_works.title,pr_works.realname,pr_college.name FROM pr_works RIGHT JOIN pr_rates ON pr_rates.pid=pr_works.pid LEFT JOIN pr_college ON pr_works.college=pr_college.id GROUP BY pid ORDER BY count(pr_rates.ip) DESC
- //開源軟件:Vevb.com
為什么會有Left Join Right Join,相當于一個人站在中間,左右手拉手,兩個人自然是沒有感覺的,其實中間一個人起到了連結(jié)的左右,他的左手連通著一個人的右手,右手連通著一個人的左手,建立了關聯(lián),于是乎因此我們選擇一個與兩個表都有共同項的表作為中間人,差不多就是這個意思.
新聞熱點
疑難解答
圖片精選