SQL中 and or in的用法小結(jié)
1 .SQL IN 運(yùn)算符
IN運(yùn)算符允許您在WHERE子句中指定多個(gè)值。
IN運(yùn)算符是多個(gè)OR條件的簡(jiǎn)寫(xiě)。
SELECT "欄位名" FROM "表格名" WHERE "欄位名" IN('值一', '值二', ...)
假設(shè)我們有兩個(gè)表格:
tb_Teachers_info
tb_City_info
然而我們要在tb_Teachers_info中找出所有來(lái)自American的教師姓名
SQL語(yǔ)句: select TeachersName from tb_Teachers_info whereCity in('American');
結(jié)果:
如果我們要從tb_Teachers_info中找出與tb_City_info中同名教師的TeachersId
SQL 語(yǔ)句: select TeachersId from tb_Teachers_info whereTeachersName in(selectTeachersName from tb_City_info);
結(jié)果:
2.SQL BETWEEN 運(yùn)算符
BETWEEN運(yùn)算符選擇給定范圍內(nèi)的值。值可以是數(shù)字,文本或日期。
BETWEEN運(yùn)算符是包含性的:包括開(kāi)始和結(jié)束值。
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;
演示數(shù)據(jù)庫(kù)
在本教程中,我們將使用著名的Northwind示例數(shù)據(jù)庫(kù)。
以下是"Products"表中的數(shù)據(jù):
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
4 | Chef Anton's Cajun Seasoning | 1 | 2 | 48 - 6 oz jars | 22 |
5 | Chef Anton's Gumbo Mix | 1 | 2 | 36 boxes | 21.35 |
BETWEEN 運(yùn)算符實(shí)例
以下SQL語(yǔ)句選擇價(jià)格在10到20之間的所有產(chǎn)品:
SELECT * FROM Products WHERE Price BETWEEN 10 AND 20;
NOT BETWEEN 操作符實(shí)例
要顯示前面示例范圍之外的產(chǎn)品,請(qǐng)使用NOT BETWEEN:
實(shí)例 SELECT * FROM Products WHERE Price NOT BETWEEN 10 AND 20;
帶有 IN 的 BETWEEN 操作符實(shí)例
以下SQL語(yǔ)句選擇價(jià)格在10到20之間但CategoryID不是1、2或3的所有產(chǎn)品:
實(shí)例 SELECT * FROM Products WHERE (Price BETWEEN 10 AND 20) AND NOT CategoryID IN (1,2,3);
帶有文本值的 BETWEEN 操作符實(shí)例
以下SQL語(yǔ)句選擇所有帶有ProductName BETWEEN'Carnarvon Tigers'和'Mozzarella di Giovanni'的產(chǎn)品:
實(shí)例 SELECT * FROM Products WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni' ORDER BY ProductName;
帶有文本值的 NOT BETWEEN 操作符實(shí)例
以下SQL語(yǔ)句選擇ProductName不是BETWEEN'Carnarvon Tigers'和'Mozzarella di Giovanni'的所有產(chǎn)品:
實(shí)例 SELECT * FROM Products WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni' ORDER BY ProductName;
示例表
下面是選自 "Orders" 表的數(shù)據(jù):
OrderIDCustomerIDEmployeeIDOrderDateShipperID102489057/4/19963102498167/5/19961102503447/8/19962102518437/9/19961102527647/10/19962
帶有日期值的 BETWEEN 操作符實(shí)例
以下 SQL 語(yǔ)句選取 OrderDate 介于 '04-July-1996' 和 '09-July-1996' 之間的所有訂單:
實(shí)例 SELECT * FROM Orders WHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#;
SQL OR 運(yùn)算符
WHERE子句可以與OR運(yùn)算符結(jié)合使用。
OR運(yùn)算符用于根據(jù)多個(gè)條件篩選記錄:
如果由OR分隔的任何條件為真,則OR運(yùn)算符顯示記錄。
OR語(yǔ)法 SELECT column1, column2, ...FROM table_nameWHERE condition1 OR condition2 OR condition3 ...;
OR 運(yùn)算符實(shí)例
以下SQL語(yǔ)句選擇城市為“Berlin”或“München”的“Customers”的所有字段:
實(shí)例 SELECT * FROM Customers WHERE City='Berlin' OR City='München';
到此這篇關(guān)于SQL中 and or in的用法的文章就介紹到這了,更多相關(guān)SQL中 and or in用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用SQL Server數(shù)據(jù)庫(kù)郵件服務(wù)實(shí)現(xiàn)監(jiān)控和預(yù)警
這篇文章主要介紹了利用數(shù)據(jù)庫(kù)郵件服務(wù)實(shí)現(xiàn)監(jiān)控和預(yù)警,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10不同數(shù)據(jù)庫(kù)之間導(dǎo)入導(dǎo)出功能介紹
在SQL Server中使用最廣泛的就是通過(guò)SELECT INTO語(yǔ)句導(dǎo)出數(shù)據(jù),SELECT INTO語(yǔ)句同時(shí)具備兩個(gè)功能2010-12-12sqlserver replace函數(shù) 批量替換數(shù)據(jù)庫(kù)中指定字段內(nèi)指定字符串參考方法
SQL Server有 replace函數(shù),可以直接使用;Access數(shù)據(jù)庫(kù)的replace函數(shù)只能在Access環(huán)境下用,不能用在Jet SQL中,所以對(duì)ASP沒(méi)用,在ASP中調(diào)用該函數(shù)會(huì)提示錯(cuò)誤.2010-05-05通過(guò)分析SQL語(yǔ)句的執(zhí)行計(jì)劃優(yōu)化SQL
基于代價(jià)的優(yōu)化器是很聰明的,在絕大多數(shù)情況下它會(huì)選擇正確的優(yōu)化器,減輕了DBA的負(fù)擔(dān)。但有時(shí)它也聰明反被聰明誤,選擇了很差的執(zhí)行計(jì)劃,使某個(gè)語(yǔ)句的執(zhí)行變得奇慢無(wú)比2011-10-10SQL Server誤區(qū)30日談 第27天 使用BACKUP WITH CHECKSUM可以替代DBCC CheckDB
乍一看,由于BACKUP WITH CHECKSUM會(huì)檢測(cè)所有分配出去的頁(yè)的校驗(yàn)和的值,這個(gè)誤區(qū)貌似是這么回事,但實(shí)際上并不是這么回事2013-01-01SQL Server Page結(jié)構(gòu)深入分析
這篇文章主要介紹了SQL Server Page結(jié)構(gòu)的詳細(xì)分析,從概念,原理等方便做了詳細(xì)說(shuō)明,一起來(lái)學(xué)習(xí)下。2017-12-12SQL?Server附加數(shù)據(jù)庫(kù)時(shí)出現(xiàn)錯(cuò)誤的處理方法
通過(guò)附加功能添加現(xiàn)成的數(shù)據(jù)庫(kù)是非常方便的,然而有時(shí)會(huì)出現(xiàn)附加數(shù)據(jù)庫(kù)失敗,下面這篇文章主要給大家介紹了關(guān)于SQL?Server附加數(shù)據(jù)庫(kù)時(shí)出現(xiàn)錯(cuò)誤的處理方法,需要的朋友可以參考下2022-12-12通過(guò)備份記錄獲取數(shù)據(jù)庫(kù)的增長(zhǎng)情況
通過(guò)備份記錄獲取數(shù)據(jù)庫(kù)的增長(zhǎng)情況2009-06-06SQL高級(jí)應(yīng)用之使用SQL查詢(xún)Excel表格數(shù)據(jù)的方法
本文和大家講下如何在SQL Server分析器中查詢(xún)Excel電子表格的數(shù)據(jù),其實(shí)很簡(jiǎn)單的,來(lái)看下下面的SQL語(yǔ)句吧。2010-03-03SQL Server行列轉(zhuǎn)換的實(shí)現(xiàn)示例
在使用SQL Server數(shù)據(jù)庫(kù)的過(guò)程中我們經(jīng)常會(huì)遇到需要將行數(shù)據(jù)和列數(shù)據(jù)相互轉(zhuǎn)換顯示的問(wèn)題,本文就來(lái)介紹一下,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09