mysql 帶多個(gè)條件的查詢方式
mysql 帶多個(gè)條件的查詢
環(huán)境:mysql 5.7
當(dāng)一個(gè)where語句中同時(shí)出現(xiàn)多個(gè)and 或者or時(shí),需要將多個(gè)OR用小括號括起來再和AND進(jìn)行“與”,或者將多個(gè)AND用小括號括起來再與OR進(jìn)行“或”
mysql 多對多條件查詢
兩個(gè)表 user和role 中間表是user_role

查詢用戶和角色的對應(yīng)關(guān)系
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;
mysql 查詢同一字段中同時(shí)滿足多個(gè)條件


分析:
1,先查詢出01號同學(xué)學(xué)習(xí)的課程
SELECT C FROM sc WHERE S='01'

2,查詢學(xué)習(xí)該相關(guān)課程的同學(xué)編號
SELECT S FROM sc WHERE C in (SELECT C FROM sc WHERE S='01')

可以看到,我們分別查詢了3次,所以出現(xiàn)多個(gè)結(jié)果,因?yàn)槭莖r關(guān)系,所以每個(gè)選擇了1、2、3課程的同學(xué)都全部取出,
3,現(xiàn)在需要將出現(xiàn)次數(shù)為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的同學(xué)選了與01號同學(xué)一致的課程
4,與student表進(jìn)行連表查詢,取出相關(guān)信息
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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL錯(cuò)誤ERROR 2002 (HY000): Can''t connect to local MySQL ser
這篇文章主要介紹了MySQL錯(cuò)誤ERROR 2002 (HY000): Can't connect to local MySQL server through socket,需要的朋友可以參考下2014-10-10
MySQL綠色版(zip解壓版)的安裝圖文教程(mysql-5.6.22-win32.zip)
由于工作需要最近要開始研究MySQL了(看來學(xué)習(xí)都是逼出來的),本人對mysql沒有研究,可以說一個(gè)小白。 下面就從安裝開始吧,雖然網(wǎng)上關(guān)于這方面的東西很多,還是需要自己把操作過程寫下來2016-06-06
Mysql 實(shí)現(xiàn)向上遞歸查找父節(jié)點(diǎn)并返回樹結(jié)構(gòu)的示例代碼
通過mysql 8.0以下版本實(shí)現(xiàn),一個(gè)人多角色id,一個(gè)角色對應(yīng)某個(gè)節(jié)點(diǎn)menu_id,根節(jié)點(diǎn)的父節(jié)點(diǎn)存儲(chǔ)為NULL, 向上遞歸查找父節(jié)點(diǎn)并返回樹結(jié)構(gòu),今天通過本文給大家介紹Mysql遞歸查找父節(jié)點(diǎn)并返回樹結(jié)構(gòu),感興趣的朋友一起看看吧2022-09-09

