在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数据库
use ds;
#创建表a
create table a1(
a int );
#插入数据
insert into a1(a)
values(9),(10),(11),(12),(12),(13),(14),(15),(16);
题目
选项A
select * from a1
where a>10 AND a<15;
结果
可以看出筛选出的a大于10小于15,符合要求
选项B
select * from a1
where a BETWEEN 10 AND 15;
可以看出筛选出的a包括 10和 15,不符合要求
选项C
select * from a1
where a IN (11,12,13,14);
可以看出筛选出的a大于10小于15,符合要求
选项D
select * from a1
where a BETWEEN 11 AND 14;
可以看出筛选出的a大于10小于15,符合要求
第二种情况,如果X为浮点型(小数)
create table b1(
b float );
#插入数据
insert into b1(b)
values(9.1),(10.1),(11.1),(12.1),(12.1),(13.1),(14.1),(15.1),(16.1);
选项A
select * from b1
where b>10 AND b<15;

可以看出筛选出的a大于10小于15,符合要求
选项B
select * from b1
where b BETWEEN 10 AND 15;

选项C
select * from b1
where b IN (11,12,13,14);

无返回结果,没有符合范围的值,但当X为整型时符合此条件。
选项D
select * from b1
where b BETWEEN 11 AND 14;

筛选结果没有11.1和14.1,但X为整形时符合此条件。解题:
补充:(确定范围) BETWEEN…AND 和 NOT BETWEEN…AND可用于查找属性值在或不在指定范围。列名 | 表达式 | [NOT] BETWEEN 下限值 AND 上限值 。
BETWEEN…AND 代表的范围是在上限值和下限值之间(包括边界值),即为 true。
NOT BETWEEN…AND 代表的范围是不在上限值和下限值之间(不包括边界值),即为true。(若判断值为边界值时,为 false)
在SQL里面实现如下:








暂无数据