mysql聯合查詢中and or的使用

需求環境:

功能:簡歷搜索

需求:求職類型中可以選擇全職、兼職、臨時工、實習生一種或者多種,但是一份簡歷又隻有一種,要將滿足任一條件的簡歷全部列出來

障礙:or 的任一條件為TRUE即停止判斷,and條件取交集

 

SELECT 

t_person_info.personid, 

t_person_info.personname, 

t_person_info.sex, 

t_person_edu.education, 

t_person_edu.school, 

t_person_edu.`subject`, 

t_person_edu.`to` 

FROM 

t_person_info 

LEFT JOIN t_person_edu ON t_person_edu.personid = t_person_info.personid 

WHERE 1=1 

 

AND (type = 3 OR type = 1) 

AND (company = 222 OR company = '湖北指數')

看14行和15行,會優先執行括號裡面的或條件,然後執行括號左側最近的條件,適合同一字段取並集

本文出自 “金色豬子的PHP成長之路” 博客

You May Also Like