婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 關(guān)于SQL語句中的AND和OR執(zhí)行順序遇到的問題

關(guān)于SQL語句中的AND和OR執(zhí)行順序遇到的問題

熱門標(biāo)簽:福建外呼電銷機(jī)器人加盟 百度地圖標(biāo)注要什么軟件 400電話申請(qǐng)廠家現(xiàn)貨 徐涇鎮(zhèn)騰訊地圖標(biāo)注 昌德訊外呼系統(tǒng) 天津公司外呼系統(tǒng)軟件 自己做地圖標(biāo)注需要些什么 中國(guó)地圖標(biāo)注公司 電話機(jī)器人的價(jià)格多少錢一個(gè)月

問題

昨天在寫數(shù)據(jù)庫(kù)SQL的時(shí)候遇到一個(gè)問題。問題的根結(jié)在SQL語句的AND和OR關(guān)鍵字的執(zhí)行優(yōu)先級(jí)問題。下面就針對(duì)這個(gè)問題進(jìn)行一下測(cè)試。

場(chǎng)景

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

表結(jié)構(gòu)

2、在表中導(dǎo)入十條測(cè)試數(shù)據(jù),如下:

表數(shù)據(jù)

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

執(zhí)行結(jié)果

執(zhí)行的結(jié)果中還查詢出了班級(jí)為2的男學(xué)生,顯然結(jié)果是不正確的。

4、修改下SQL語句,添加上括號(hào)。如下:

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

該sql查詢出來的結(jié)果符合要求

分析

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

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

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

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

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于SQL語句中的AND和OR執(zhí)行順序遇到的問題》,本文關(guān)鍵詞  關(guān)于,SQL,語句,中的,AND,和,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《關(guān)于SQL語句中的AND和OR執(zhí)行順序遇到的問題》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于關(guān)于SQL語句中的AND和OR執(zhí)行順序遇到的問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 昌邑市| 旬邑县| 阿拉尔市| 上高县| 疏勒县| 旺苍县| 若尔盖县| 英超| 密山市| 南川市| 河津市| 延吉市| 葫芦岛市| 金湖县| 新巴尔虎左旗| 肥东县| 景谷| 新巴尔虎右旗| 榆中县| 榆中县| 界首市| 嘉峪关市| 蚌埠市| 天津市| 贵港市| 遂溪县| 修武县| 泰安市| 象山县| 建平县| 兰州市| 黔江区| 绩溪县| 张家口市| 古丈县| 龙胜| 翼城县| 桃园县| 盐津县| 太原市| 沈阳市|