好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 關于SQL語句中的AND和OR執行順序遇到的問題

關于SQL語句中的AND和OR執行順序遇到的問題

熱門標簽:福建外呼電銷機器人加盟 百度地圖標注要什么軟件 400電話申請廠家現貨 徐涇鎮騰訊地圖標注 昌德訊外呼系統 天津公司外呼系統軟件 自己做地圖標注需要些什么 中國地圖標注公司 電話機器人的價格多少錢一個月

問題

昨天在寫數據庫SQL的時候遇到一個問題。問題的根結在SQL語句的AND和OR關鍵字的執行優先級問題。下面就針對這個問題進行一下測試。

場景

1、有一張學生表Student,表字段包括Id(用戶主鍵)、Name(用戶名)、Grade(年級)、Class(班級)、Sex(性別)。如下:

表結構

2、在表中導入十條測試數據,如下:

表數據

3、現需要查詢出性別為女的1年級女學生,或者性別為女的2班級女學生。SQL語句如下:
    select * from student where sex='女' and grade=1 or class=2
但是該sql查詢出來的結果并不符合要求,執行結果如下:

執行結果

執行的結果中還查詢出了班級為2的男學生,顯然結果是不正確的。

4、修改下SQL語句,添加上括號。如下:

select * from student where sex='女' and (grade=1 or class=2)

該sql查詢出來的結果符合要求

分析

從上面的場景中,問題的關鍵就在于AND和OR的執行順序問題。
查閱資料,關系型運算符優先級高到低為:NOT >AND >OR
如果where 后面有OR條件的話,則OR自動會把左右的查詢條件分開。
就如上面場景中的第一條語句,他的查詢條件分為兩部分(或):

1、sex='女' and grade=1
2、 class=2

這也就是查詢出1年級的女學生,2班級的學生。不符合最初查詢的要求。
那么解決辦法就是使用括號區分執行的順序
就如上面場景的第二條語句,查詢條件分為兩部分(并):

1、 sex='女' 
2、 (grade=1 or class=2)

您可能感興趣的文章:
  • SQL語句執行順序圖文介紹
  • SQL語句執行順序詳解
  • SQL語句執行深入講解(MySQL架構總覽->查詢執行流程->SQL解析順序)
  • 從零開始學習SQL查詢語句執行順序
  • 一文告訴你Sql的執行順序是怎樣的

標簽:荊門 駐馬店 北京 昌都 鄂爾多斯 梅河口 黔西 陜西

巨人網絡通訊聲明:本文標題《關于SQL語句中的AND和OR執行順序遇到的問題》,本文關鍵詞  關于,SQL,語句,中的,AND,和,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《關于SQL語句中的AND和OR執行順序遇到的問題》相關的同類信息!
  • 本頁收集關于關于SQL語句中的AND和OR執行順序遇到的問題的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 成人a一级毛片免费看| 扒开女同学的腿嗯啊的叫| a级成人高清毛片| 夜色资源站www国产在线资源| 女厕撒尿秘?网站免费看| 99久热精品视频观看| 护士不要了好深不要了| 精品一区二区三区免费观看| 好湿?好紧?好多水| 曰本做爰全过程视频| 黄色在线资源| 天天摸天天躁天天添天天爽| 69中国xxxxxxxx18| sb8877成人网站| 扒开粉嫩小泬白浆20p| 波多野结衣伦理片bd高清在线| 在线视频a| 午夜在线a亚洲v天堂网2019| 极品透明情趣少妇| 欧美另类丰满大荫蒂喷潮| 床戏超多超欲的电影| 伊人网在线视频| 一级欧美片| 全是肉的高H短篇列车| 国产一级a爱做片免费看| 小说莫阳| 虐之恋电影| 波多野结衣被躁43分钟| 日本一区二区在线观看| 色综合天| 午夜一级做a爰片久久毛片| 日本一区电影| 欧美性受XXXX88喷潮| 夫の目の前侵犯入侵者中文字幕| 和闺蜜一起三飞18p| 美女张开腿让男人捅的视频| 久久精品综合免费观看| 秦先生第二十部97国民白丝| 被公侵犯中文先锋| 一区二区三区久久| 日本护士xxxxx极品|