首页 > 试题广场 >

设有一个关系:DEPT(DNO,DNAME),如果要找出倒数

[单选题]
设有一个关系:DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成WHERE DNAME LIKE()
  • '_ _W_%'
  • '_%W_ _'
  • '_W__'
  • '_W_%'
推荐
在SQL语言中,我们可以使用两个通配符:%和_,其中“%”表示0个或多个字符,而“_”则表示一个字符。在本题的查找条件中,要求倒数第三个字母为W,应表示成“W_ _”,并且还要求至少包含4个字母,而当以“%”开头时,它表示的字符可以不存在,所以开头应加一个“_”,那么查询条件子句应写成WHERE DNAME LIKE'_% W_ _'。
编辑于 2016-10-21 01:19:06 回复(3)
“倒数”第三个。。。。。。
发表于 2016-04-08 14:39:52 回复(2)

答案:B。

在SQL 语言中,%和_表示的是通配符(通配符指的是一种特殊语句,用来进行模糊查询的,在匹配字符串时,可以使用它来代替一个或多个真正字符,当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符),其中“%”表示的是0个或多个字符,而“_”表示的是一个字符。

在本题的查找条件中,要求倒数第三个字母为‘W’,所以,字符‘W’后面有两个其他字符,可以表示成“W_ _”,并且还要求至少包含4个字母,而当以“%”开头时,它表示的字符可以不存在,所以,开头应加一个“_”,那么查询条件子句应写成WHERE DNAME LIKE '_ % W _ _'。

所以,本题的答案为B。

需要注意的是,除了以上介绍的两种通配符以外,SQL语言中还有两个通配符,[charlist]表示字符列中的任何单一字符,[^charlist]或者[!charlist]表示不在字符列中的任何一个字符。例如,要求从名为“Persons”的表中选取居住的城市以“A”或“L”或“N”开头的人,可以使用下面的 SELECT 语句:SELECT * FROM Persons WHERE City LIKE '[ALN]%'。要求从名为“Persons”的表中选取居住的城市不以“A”或“L”或“N”开头的人,可以使用下面的 SELECT 语句:SELECT * FROM Persons WHERE City LIKE '[!ALN]%'。

发表于 2018-07-21 14:34:25 回复(0)
我咋感觉B选项不是倒数第三个,反而是倒数第四个。难道大家都没有看到那个空格键吗?

发表于 2019-06-28 10:23:30 回复(0)
通配符:%和_ %代表0个字符或多个字符 _代表单个字符 只能选 _%w_ _
发表于 2016-12-02 10:41:24 回复(0)
我就问一句, __ 和 _ _ 有没有区别
发表于 2017-04-15 20:16:31 回复(0)
在实际使用中,_ _中间加了空格查不出来数据?
发表于 2017-04-21 10:26:10 回复(0)
选择B,
综合分析:通配符% 表示0到多个, 通配符_  表示一个。
题目是:如果要找出倒数第三个字母为W,并且 至少包含4个字母。那么就是'w_ _',然后因为%可以表示0所以,应该在前面加上一个_,SQL语句为 '_%w_ _'。

发表于 2017-02-28 02:07:41 回复(0)
B,倒数第三个,表明后面还有两个,所以用W--,又至少有四个,所以必须要有四个,所以不能用%W--,因为%表示任意个字符,可以没有,所以综合只能是-%w--.
发表于 2016-10-23 11:31:09 回复(0)
请问,%_w__  是否也可以??
发表于 2016-09-05 13:26:10 回复(0)
%表示0个或者多个字符
发表于 2016-05-13 13:20:24 回复(0)
C
发表于 2015-03-18 13:49:19 回复(0)
B
发表于 2015-01-14 15:19:06 回复(0)