您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關mysql中帶多個條件的查詢方式有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
環境:mysql 5.7
當一個where語句中同時出現多個and 或者or時,需要將多個OR用小括號括起來再和AND進行“與”,或者將多個AND用小括號括起來再與OR進行“或”
兩個表 user和role 中間表是user_role
查詢用戶和角色的對應關系
select res.user_name,r.role_name from(select u.user_name,ur.role_id from user as u INNER JOIN user_role as ur where u.user_id=ur.user_id) as res INNER JOIN role as r where res.role_id=r.role_id;
分析:
SELECT C FROM sc WHERE S='01'
SELECT S FROM sc WHERE C in (SELECT C FROM sc WHERE S='01')
可以看到,我們分別查詢了3次,所以出現多個結果,因為是or關系,所以每個選擇了1、2、3課程的同學都全部取出,
SELECT S FROM sc WHERE C in (SELECT C FROM sc WHERE S='01') GROUP BY S HAVING COUNT(S) =3
看到編號為1、2、3、4的同學選了與01號同學一致的課程
SELECT a.* FROM student a LEFT JOIN sc b ON a.S = b.S WHERE b.S in ( SELECT S FROM sc WHERE C in (SELECT C FROM sc WHERE S='01') GROUP BY S HAVING COUNT(S) =3) GROUP BY a.S
關于“mysql中帶多個條件的查詢方式有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。