JOIN|CROSS JOIN| INNER JOIN 通過ON 串連條件(這三個方式都行)一般用JOIN進行串連,ON後面接串連條件--查詢cms_user id,username 省份表中和使用者表中都有id--查詢省份表中的 provinces ,proNameSELECT cms_user.id,username,proName FROM cms_user,provinces;--這個查詢是不對的,因為兩個表中都有id,查詢結果不是真正想要的結果,而是形成了笛卡爾積的形式--cms_user的proId對應於省份表中的idSELECT cms_user.id,username,proName FROM cms_user,provincesWHERE cms_user.proId=provinces.id;--內串連(這個和上面的where的效果一樣(先把每個表要查詢東西寫上,之後再寫上條件)--查詢cms_user表中的id,username,email,sex--查詢provinces表中的pronameSELECT u.id,u.username,u.email,u.sex,p.proNameFROM cms_user AS u --串連第一張表 INNER JOIN provinces AS p --串連的第二張表ON u.proId=p.id; --通過ON來指定串連條件,這裡的條件是當user的表中的proid等會省份表中的id--第一個表要查詢的:查詢cms_user id,username,sex--第二個表要查詢的:查詢provinces prpName--ON後面的串連條件是:user表的proid等於省份表的id。--條件:cms_user的性別為男的使用者SELECT u.id,u.username,u.sex,p.proNameFROM cms_user AS uJOIN provinces AS pON u.proId=p.idWHERE u.sex=‘男‘;--對分組結果進行篩選,根據proname分組,選出組中人數大於等於1的,並且按照使用者表中的id進行升序排序,限制顯示條數(前兩條)SELECT u.id,u.username,u.sex,p.proName,COUNT(*) AS Totalsum,GROUP_CONCAT(sex)FROM cms_user AS uJOIN provinces AS p--串連ON u.proId=p.idWHERE u.sex=‘男‘GROUP BY p.proNameHAVING COUNT(*)>=1ORDER BY u.id ASCLIMIT 0,2;;--查詢cms_news中的id,title--查詢cms_cate中的cateName--串連條件:n.cId=c.idSELECT n.id,n.title,c.cateName --先寫要查詢的,FROM cms_news AS n --再寫要串連的幾個表JOIN cms_cate AS cON n.cId=c.id;--寫串連條件--cms_news id,title--cms_cate cateName--cams_admin username ,role--串連條件:cms——news和cms——cate的條件:n.cId=c.id cms_news和cams_admin串連條件:SELECT n.id,n.title,c.cateName,a.username,a.roleFROM cms_news AS n--三表串連cms_news 和cms_cate,,,cms_admin分別建立串連JOIN cms_cate AS cON n.cId=c.idJOIN cms_admin AS aON n.aId=a.id;