在SQL語言中不可以用來表示“10<x<15”的是( )。
A. x>10 AND x<15
B. x BETWEEN 10 AND 15
C. x IN (11,12,13,14)
D. x BETWEEN 11 AND 14
答案解析:
第一種情況:如果X 為整型
#用ds數(shù)據(jù)庫
use ds;
#創(chuàng)建表a
create table a1(
a int );
#插入數(shù)據(jù)
insert into a1(a)
values(9),(10),(11),(12),(12),(13),(14),(15),(16);
題目
選項(xiàng)A
select * from a1
where a>10 AND a<15;
結(jié)果
可以看出篩選出的a大于10小于15,符合要求
選項(xiàng)B
select * from a1
where a BETWEEN 10 AND 15;
可以看出篩選出的a包括 10和 15,不符合要求
選項(xiàng)C
select * from a1
where a IN (11,12,13,14);
可以看出篩選出的a大于10小于15,符合要求
選項(xiàng)D
select * from a1
where a BETWEEN 11 AND 14;
可以看出篩選出的a大于10小于15,符合要求
第二種情況,如果X為浮點(diǎn)型(小數(shù))
create table b1(
b float );
#插入數(shù)據(jù)
insert into b1(b)
values(9.1),(10.1),(11.1),(12.1),(12.1),(13.1),(14.1),(15.1),(16.1);
選項(xiàng)A
select * from b1
where b>10 AND b<15;

可以看出篩選出的a大于10小于15,符合要求
選項(xiàng)B
select * from b1
where b BETWEEN 10 AND 15;

選項(xiàng)C
select * from b1
where b IN (11,12,13,14);

無返回結(jié)果,沒有符合范圍的值,但當(dāng)X為整型時(shí)符合此條件。
選項(xiàng)D
select * from b1
where b BETWEEN 11 AND 14;

篩選結(jié)果沒有11.1和14.1,但X為整形時(shí)符合此條件。解題:
補(bǔ)充:(確定范圍)??BETWEEN…AND?和?NOT?BETWEEN…AND可用于查找屬性值在或不在指定范圍。列名?|?表達(dá)式?|?[NOT]?BETWEEN?下限值?AND?上限值 。
BETWEEN…AND?代表的范圍是在上限值和下限值之間(包括邊界值),即為?true。
NOT?BETWEEN…AND?代表的范圍是不在上限值和下限值之間(不包括邊界值),即為true。(若判斷值為邊界值時(shí),為?false)
在SQL里面實(shí)現(xiàn)如下:








暫無數(shù)據(jù)