国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SQL | 高級(jí)數(shù)據(jù)過(guò)濾

這篇具有很好參考價(jià)值的文章主要介紹了SQL | 高級(jí)數(shù)據(jù)過(guò)濾。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

5-高級(jí)數(shù)據(jù)過(guò)濾

通過(guò)組合WHERE子句,建立功能更強(qiáng)的檢索語(yǔ)句。

5.1-組合WHERE子句

前面寫(xiě)的都是單一條件下的WHERE子句,SQL語(yǔ)句允許給出多個(gè)WHERE子句來(lái)組合檢索,這些WHERE子句通過(guò)AND子句或者OR子句進(jìn)行連接。

操作符(operator) 用來(lái)聯(lián)結(jié)或改變WHERE子句中的子句的關(guān)鍵字,也稱(chēng)為邏輯操作符(logical operator)。

5.1.1 AND操作符

要通過(guò)不止一個(gè)列進(jìn)行過(guò)濾,可以通過(guò)AND操作符進(jìn)行連接。

select prod_id,prod_price,prod_name
from products
where vend_id = 'DLL01' AND prod_price <= 4;

上述SQL語(yǔ)句用于檢索由DLL01供應(yīng)商提供的價(jià)格小于等于4元的所有產(chǎn)品的價(jià)格和名稱(chēng)。該條語(yǔ)句包含兩個(gè)查詢(xún)條件,一個(gè)是供應(yīng)商id為DLL01,另一個(gè)條件為價(jià)格小于等于4,使用AND進(jìn)行連接。

SQL | 高級(jí)數(shù)據(jù)過(guò)濾,# SQL,sql,數(shù)據(jù)庫(kù)

上述語(yǔ)句使用了一個(gè)AND連接符,因此只有兩個(gè)過(guò)濾條件。可以增加多個(gè)過(guò)濾條件,每個(gè)條件之間都要使用AND連接符進(jìn)行連接。

5.1.2 OR連接符

OR操作符與AND操作符正好相反,它指示DBMS檢索匹配任一條件的行。事實(shí)上,許多DBMS在OR WHERE子句的第一個(gè)條件得到滿(mǎn)足的情況下,就不再計(jì)算第二個(gè)條件了(在第一個(gè)條件滿(mǎn)足時(shí),不管第二個(gè)條件是否滿(mǎn)足,相應(yīng)的行都將被檢索出來(lái))。

select prod_id,prod_price,prod_name
from products
where vend_id = 'DLL01' OR vend_id = 'BRS01';

?SQL | 高級(jí)數(shù)據(jù)過(guò)濾,# SQL,sql,數(shù)據(jù)庫(kù)

上述SQL語(yǔ)句通過(guò)OR連接符進(jìn)行檢索,只要滿(mǎn)足任意一個(gè)條件,就會(huì)將數(shù)據(jù)納入檢索范圍。

5.1.3 求值順序

WHERE子句可以包含很多的AND和OR操作符。但是這么做可能會(huì)有一些小問(wèn)題。

例如:想要列出價(jià)格為10元以上,且有DLL01或者BRS01制造的所有產(chǎn)品

select prod_id,prod_price,prod_name
from products
where vend_id  = 'DLL01' or vend_id = 'BRS01' and prod_price >= 10;

?SQL | 高級(jí)數(shù)據(jù)過(guò)濾,# SQL,sql,數(shù)據(jù)庫(kù)

可以看到,價(jià)格低于十元的產(chǎn)品也被輸出了出來(lái)。

原因 在于求值順序,SQL在處理OR操作符前,會(huì)優(yōu)先處理AND操作符。當(dāng)SQL看到上述語(yǔ)句時(shí),會(huì)理解為:由供應(yīng)商BRS01提供的10元以上的產(chǎn)品,以及由供應(yīng)商DLL01提供的所有產(chǎn)品,而不管其價(jià)格如何。BRS01和價(jià)格大于等于10優(yōu)先組合在一起。

解決辦法是使用圓括號(hào)對(duì)操作符進(jìn)行分組:

select prod_id,prod_price,prod_name
from products
where (vend_id = 'DLL01' OR vend_id = 'BRS01') AND prod_price >= 10;

?SQL | 高級(jí)數(shù)據(jù)過(guò)濾,# SQL,sql,數(shù)據(jù)庫(kù)

圓括號(hào)具有比AND或OR操作符更高的優(yōu)先級(jí),所以DBMS首先過(guò)濾圓括號(hào)內(nèi)的OR條件。

注意:任何時(shí)候使用具有AND和OR操作符的WHERE子句,都應(yīng)該使用圓括號(hào)明確地分組操作符。不要過(guò)分依賴(lài)默認(rèn)求值順序,即使它確實(shí)如你希望的那樣。使用圓括號(hào)沒(méi)有什么壞處,它能消除歧義。

5.2-IN操作符

IN操作符用來(lái)指定條件范圍,范圍中的每個(gè)條件都可以進(jìn)行匹配。

select prod_name,prod_price
from products
where vend_id IN ('DLL01','BRS01')
order by prod_name;

?SQL | 高級(jí)數(shù)據(jù)過(guò)濾,# SQL,sql,數(shù)據(jù)庫(kù)

上述語(yǔ)句檢索由供應(yīng)商DLL01和供應(yīng)商BRS01所提供的產(chǎn)品。

IN操作符完成的功能與OR操作符完成的功能類(lèi)似。

select prod_name,prod_price
from products
where vend_id = 'DLL01' OR vend_id = 'BRS01'
order by prod_name;

? 兩個(gè)語(yǔ)句輸出的內(nèi)容相同。

使用IN操作符的優(yōu)點(diǎn):

  • 有很多合法選項(xiàng)時(shí),IN操作符更為清晰明了。

  • 在與其他AND和OR操作符組合使用IN時(shí),求值順序更容易理解。

  • IN操作符一般比一組OR操作符執(zhí)行速度更快。

  • IN最大的優(yōu)點(diǎn)是,可以包含其他select語(yǔ)句,能夠更動(dòng)態(tài)的建立where子句。

5.3-NOT操作符

WHERE子句中的NOT操作符有且只有一個(gè)作用,否定其后跟隨的任何條件。

NOT從不單獨(dú)使用,總是與其他操作符一起使用。

select prod_name
from products
where NOT vend_id = 'DLL01'
order by prod_name;

檢索所有vend_id不是DLL01的行。

上面的語(yǔ)句也可以使用"<>"或者"!="來(lái)實(shí)現(xiàn)。

select prod_name
from products
where vend_id <> 'DLL01'
order by prod_name;

select prod_name
from products
where vend_id != 'DLL01'
order by prod_name;

對(duì)于簡(jiǎn)單的where語(yǔ)句來(lái)說(shuō),使用NOT操作符確實(shí)沒(méi)有多少優(yōu)勢(shì),但是如果SQL語(yǔ)句比較復(fù)雜的話(huà),NOT就非常有用。

例如,在與IN操作符聯(lián)合使用時(shí),NOT可以非常簡(jiǎn)單地找出與條件列表不匹配的行。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-643786.html

到了這里,關(guān)于SQL | 高級(jí)數(shù)據(jù)過(guò)濾的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【SQL Server】數(shù)據(jù)庫(kù)開(kāi)發(fā)指南(五)T-SQL 高級(jí)查詢(xún)綜合應(yīng)用與實(shí)戰(zhàn)

    【SQL Server】數(shù)據(jù)庫(kù)開(kāi)發(fā)指南(五)T-SQL 高級(jí)查詢(xún)綜合應(yīng)用與實(shí)戰(zhàn)

    本系列博文還在更新中,收錄在專(zhuān)欄:#MS-SQL Server 專(zhuān)欄中。 本系列文章列表如下: 【SQL Server】 Linux 運(yùn)維下對(duì) SQL Server 進(jìn)行安裝、升級(jí)、回滾、卸載操作 【SQL Server】數(shù)據(jù)庫(kù)開(kāi)發(fā)指南(一)數(shù)據(jù)庫(kù)設(shè)計(jì)的核心概念和基本步驟 【SQL Server】數(shù)據(jù)庫(kù)開(kāi)發(fā)指南(二)MSSQL數(shù)據(jù)庫(kù)開(kāi)發(fā)對(duì)

    2023年04月18日
    瀏覽(120)
  • 【SQL Server】數(shù)據(jù)庫(kù)開(kāi)發(fā)指南(八)高級(jí)數(shù)據(jù)處理技術(shù) MS-SQL 事務(wù)、異常和游標(biāo)的深入研究

    【SQL Server】數(shù)據(jù)庫(kù)開(kāi)發(fā)指南(八)高級(jí)數(shù)據(jù)處理技術(shù) MS-SQL 事務(wù)、異常和游標(biāo)的深入研究

    本系列博文還在更新中,收錄在專(zhuān)欄:#MS-SQL Server 專(zhuān)欄中。 本系列文章列表如下: 【SQL Server】 Linux 運(yùn)維下對(duì) SQL Server 進(jìn)行安裝、升級(jí)、回滾、卸載操作 【SQL Server】數(shù)據(jù)庫(kù)開(kāi)發(fā)指南(一)數(shù)據(jù)庫(kù)設(shè)計(jì)的核心概念和基本步驟 【SQL Server】數(shù)據(jù)庫(kù)開(kāi)發(fā)指南(二)MSSQL數(shù)據(jù)庫(kù)開(kāi)發(fā)對(duì)

    2024年02月07日
    瀏覽(104)
  • SQL | 高級(jí)數(shù)據(jù)過(guò)濾

    SQL | 高級(jí)數(shù)據(jù)過(guò)濾

    通過(guò)組合WHERE子句,建立功能更強(qiáng)的檢索語(yǔ)句。 5.1-組合WHERE子句 前面寫(xiě)的都是單一條件下的WHERE子句,SQL語(yǔ)句允許給出多個(gè)WHERE子句來(lái)組合檢索,這些WHERE子句通過(guò)AND子句或者OR子句進(jìn)行連接。 操作符(operator) 用來(lái)聯(lián)結(jié)或改變WHERE子句中的子句的,也稱(chēng)為邏輯操作符(

    2024年02月13日
    瀏覽(23)
  • 【SQL刷題】Day10----SQL高級(jí)過(guò)濾函數(shù)專(zhuān)項(xiàng)練習(xí)

    【SQL刷題】Day10----SQL高級(jí)過(guò)濾函數(shù)專(zhuān)項(xiàng)練習(xí)

    博主昵稱(chēng):跳樓梯企鵝 博主主頁(yè)面鏈接: 博主主頁(yè)傳送門(mén) 博主專(zhuān)欄頁(yè)面連接: 專(zhuān)欄傳送門(mén)--網(wǎng)路安全技術(shù) 創(chuàng)作初心:本博客的初心為與技術(shù)朋友們相互交流,每個(gè)人的技術(shù)都存在短板,博主也是一樣,虛心求教,希望各位技術(shù)友給予指導(dǎo)。 博主座右銘:發(fā)現(xiàn)光,追隨光,

    2023年04月09日
    瀏覽(23)
  • SQL Server 數(shù)據(jù)庫(kù)之SQL Server 數(shù)據(jù)庫(kù)的安全設(shè)置

    SQL Server 數(shù)據(jù)庫(kù)之SQL Server 數(shù)據(jù)庫(kù)的安全設(shè)置

    數(shù)據(jù)庫(kù)服務(wù)器是所有應(yīng)用的數(shù)據(jù)中轉(zhuǎn)站,若數(shù)據(jù)庫(kù)服務(wù)被惡意攻擊,可能會(huì)造成數(shù)據(jù)泄露、數(shù)據(jù)丟失、數(shù)據(jù)被惡意篡改等諸多無(wú)法挽回的損失; 所以,對(duì)數(shù)據(jù)庫(kù)進(jìn)行安全設(shè)置是每一個(gè)數(shù)據(jù)庫(kù)管理人員都應(yīng)掌握的知識(shí); SQL Server 登錄模式分為 “Windows 身份驗(yàn)證模式” 和 “SQL

    2024年02月06日
    瀏覽(104)
  • SQL Server數(shù)據(jù)庫(kù)使用SQL Server代理實(shí)現(xiàn)數(shù)據(jù)庫(kù)自動(dòng)備份

    SQL Server數(shù)據(jù)庫(kù)使用SQL Server代理實(shí)現(xiàn)數(shù)據(jù)庫(kù)自動(dòng)備份

    在現(xiàn)實(shí)中,為了保證數(shù)據(jù)的安全和完整,防止人為錯(cuò)誤和硬件故障等造成的數(shù)據(jù)丟失和損壞,就需要用到數(shù)據(jù)庫(kù)的備份,不同的數(shù)據(jù)庫(kù)方法有所差別,我這邊主講SQL Server數(shù)據(jù)庫(kù)的備份和使用SQL Server代理作業(yè)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的定時(shí)備份。 目錄 一、開(kāi)啟SQL Server代理 1、找到SQL Serv

    2024年02月09日
    瀏覽(107)
  • 【數(shù)據(jù)庫(kù)·關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL·學(xué)習(xí)筆記】Microsoft SQL Server數(shù)據(jù)庫(kù)的建立和刪除

    【數(shù)據(jù)庫(kù)·關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL·學(xué)習(xí)筆記】Microsoft SQL Server數(shù)據(jù)庫(kù)的建立和刪除

    開(kāi)發(fā)環(huán)境:SQL Server Management Studio(SSMS) 利用數(shù)據(jù)庫(kù)對(duì)象資源管理器創(chuàng)建數(shù)據(jù)庫(kù) (1)右擊對(duì)象資源管理器中的數(shù)據(jù)庫(kù),選擇新建數(shù)據(jù)庫(kù) (2)在新建數(shù)據(jù)庫(kù)界面輸入數(shù)據(jù)庫(kù)名稱(chēng) ,并選擇確定 利用CREAT DATABASE命令在SSM工具的新建查詢(xún)中創(chuàng)建數(shù)據(jù)庫(kù) 1.語(yǔ)法格式 CREATE DATABASE dat

    2024年02月08日
    瀏覽(34)
  • sql數(shù)據(jù)庫(kù)怎么備份,sql 實(shí)時(shí)備份

    sql數(shù)據(jù)庫(kù)怎么備份,sql 實(shí)時(shí)備份

    在當(dāng)今互聯(lián)網(wǎng)時(shí)代,數(shù)據(jù)已經(jīng)成為企業(yè)的核心資產(chǎn)。然而,數(shù)據(jù)的安全性和完整性面臨硬件問(wèn)題、軟件故障、人工操作錯(cuò)誤等各種威脅。為了保證數(shù)據(jù)的安全,實(shí)時(shí)備份已經(jīng)成為公司必須采取的重要措施之一。下面我們就重點(diǎn)介紹SQL實(shí)時(shí)備份的重要實(shí)施方法。 SQL實(shí)時(shí)備份的必

    2024年02月10日
    瀏覽(26)
  • SQL Server數(shù)據(jù)庫(kù)——?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)

    SQL Server數(shù)據(jù)庫(kù)——?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)

    目錄 一、界面方式創(chuàng)建數(shù)據(jù)庫(kù) 1.1創(chuàng)建數(shù)據(jù)庫(kù)xscj,數(shù)據(jù)文件和日志文件的屬性按默認(rèn)值設(shè)置 ?1.2在xscj數(shù)據(jù)庫(kù)中增加文件xcsj1,其屬性均取系統(tǒng)默認(rèn)值 ?1.3在數(shù)據(jù)庫(kù)xscj中增加一個(gè)名為myGroup的文件組。 1.4數(shù)據(jù)庫(kù)的重命名? 1.5數(shù)據(jù)庫(kù)的刪除? 二、命令方式創(chuàng)建數(shù)據(jù)庫(kù) 以創(chuàng)建學(xué)生管

    2024年02月01日
    瀏覽(31)
  • sql 創(chuàng)建sql server數(shù)據(jù)庫(kù)文件組

    可以在建立數(shù)據(jù)庫(kù)時(shí)候創(chuàng)建 如: CREATE DATABASE MyDB ON PRIMARY ? ? ? ? ? ? ? ? ? ? ? ? ? --主文件組和主要數(shù)據(jù)文件 ? ( NAME=\\\'MyDB_Primary\\\', ? ?FILENAME= \\\'c:MyDB_Prm.mdf\\\'), FILEGROUP MyDB_FG1 ? ? ? ? ? ? ? ? ? --用戶(hù)定義文件組1 ? ( NAME = \\\'MyDB_FG1_Dat1\\\', ? ?FILENAME = \\\'c:MyDB_FG1_1.ndf\\\'), ?--次要數(shù)

    2024年02月08日
    瀏覽(94)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包