in 和 between 條件運(yùn)算符
下面是in條件運(yùn)算符的sql語(yǔ)句:
select column1, sum(column2)
from "list-of-tables"
where column3 in (list-of-values);
下面是between條件運(yùn)算符的sql語(yǔ)句:
select column1, sum(column2)
from "list-of-tables"
where column3 between value1 and value2;
實(shí)際上,in條件運(yùn)算符是一個(gè)設(shè)置成員測(cè)試運(yùn)算符,也就是說(shuō),它用于測(cè)試是否一個(gè)數(shù)值處在in關(guān)鍵字之后提供的數(shù)值之中。舉個(gè)例子如下:
select employeeid, lastname, salary
from employee_info
where lastname in ('hernandez', 'jones', 'roberts', 'ruiz');
這條語(yǔ)句是從employee_info表中選擇lastname等于hernandez、jones、 roberts或者 ruiz名字之一的列employeeid、 lastname和 salary。如果它在其中就將返回行。
in條件運(yùn)算符可以使用混合條件來(lái)替代,比如你可以使用等號(hào)運(yùn)算符或者使用or運(yùn)算符等等,但是結(jié)果是一樣的,例如:
select employeeid, lastname, salary
from employee_info
where lastname = 'hernandez' or lastname = 'jones' or lastname = 'roberts' or lastname = 'ruiz';
你可以觀察到,利用in運(yùn)算符時(shí)語(yǔ)句會(huì)更加簡(jiǎn)短并且容易讀,特別是在你測(cè)試兩個(gè)或者三個(gè)數(shù)值以上的時(shí)候尤為突出。
當(dāng)然你也可以使用not in 來(lái)在你的列表中排除行的。
而between條件運(yùn)算符是用與測(cè)試一個(gè)數(shù)值是否處在between關(guān)鍵字兩邊指定數(shù)值的中間,比如:
select employeeid, age, lastname, salary
from employee_info
where age between 30 and 40;
這條sql語(yǔ)句是從employee_info表中選擇age處于30到40歲之間(包括30歲和40歲)的列employeeid、age、 lastname和salary。
這條語(yǔ)句同樣可以不用between運(yùn)算符,而使用混合條件來(lái)替代,例如:
select employeeid, age, lastname, salary
from employee_info
where age >= 30 and age <= 40;
當(dāng)然,你也可以類(lèi)似于not in的方法,使用not between來(lái)排除一些數(shù)據(jù)。
新聞熱點(diǎn)
疑難解答
圖片精選