3.3 SQL---单表查询


1.select语句用于查询数据。
A. 正确
B. 错误

正确选项:A
解析:无


2.聚合函数有最大、最小、求和、平均和计数等,它们分别是max、min、sum、avg和count。
A. 正确
B. 错误

正确选项:A
解析:无


3.查询结果默认排序方式为升序排序(ASC)。
A. 正确
B. 错误

正确选项:A
解析:ASC表示升序,DESC是降序


4.查询语句中降序排序关键字是asc。
A. 正确
B. 错误

正确选项:B
解析:ASC表示升序,DESC是降序


5.模糊查询时通配符“_”表示某单个字符。
A. 正确
B. 错误

正确选项:A
解析:“_”表示某单个字符,“%”表示0到多个字符


6.模糊查询时通配符“%”表示某单个字符。
A. 正确
B. 错误

正确选项:B
解析:“_”表示某单个字符,“%”表示0到多个字符


7.语句 select day('2013-12-26')的执行结果是:26。
A. 正确
B. 错误

正确选项:A
解析:day函数用于取出日期中的日


8.语句 select len('新年快乐') 的执行结果是5。
A. 正确
B. 错误

正确选项:A
解析:无


9.在SQL语句中,分组用order by子句,排序用group by子句。
A. 正确
B. 错误

正确选项:B
解析:分组用group by子句,排序用order by子句。


10.如果当前日期是2018年12月26日,那么year(getdate())-year(‘2010-1-1’)的执行结果是‘8-11-15’。
A. 正确
B. 错误

正确选项:B
解析:year表示取年,2018-2010=8


11.有学生表:S(学号,姓名,性别,专业),查询“英语专业所有女同学姓名”的SQL语句是( )。
A. SELECT * FROM S
B. SELECT * WHERE S FROM 专业=英语
C. SELECT 姓名 WHERE S FROM 专业=英语 AND 性别=女
D. SELECT 姓名 FROM S WHERE 专业=’英语’ AND 性别=’女’

正确选项:D
解析:“英语专业、女同学”是定语,放在WHERE后面做查询条件;“姓名”是主语,放在SELECT后面,是要查询的列名,列名前面省略了“ALL”,表示“所有”;FROM后面是表的名字,表示数据来源。SQL中字符串用单引号


12.查询表stock中,每个交易所的平均单价的SQL语句是( )。
A. SELECT 交易所,AVG(单价)FROM stock GROUP BY 单价
B. SELECT 交易所,AVG(单价)FROM stock ORDER BY 单价
C. SELECT 交易所,AVG(单价)FROM stock GROUP BY 交易所
D. SELECT 交易所,AVG(单价)FROM stock ORDER BY 交易所

正确选项:C
解析:GROUP BY是分组,ORDER BY是排序,要按交易所分组,对每一个交易所计算平均单价


13.使用SQL语句进行分组检索,为了去掉不满足条件的分组,应当( )。
A. 使用WHERE子句
B. 先使用WHERE子句,再使用HAVING子句
C. 先使用HAVING子句,再使用WHERE子句
D. 先使用GROUP BY子句,再使用HAVING子句

正确选项:D
解析:分组检索需要用group by子句,对分组统计后的结果筛选必须用having子句,having子句一定是用在group by子句后面。where子句是用于直接对表中数据筛选。


14.关于查询语句中ORDER BY子句使用正确的是( )。
A. 如果未指定排序字段,则默认按递增排序
B. 如果降序排列,必须使用ASC关键字
C. 连接查询不允许使用ORDER BY子句
D. ORDER BY子句后面可以是一个字段,也可以是多个字段

正确选项:D
解析:order by子句用于排序,可以按一个字段排,也可以按多个字段排,排序字段不可以省略,可以省略的是排序方式,默认排序方式是升序,如果降序方式,必须加上DESC。


15.查询员工工资信息时,结果按工资降序排列,正确的是( )。
A. ORDER BY 工资
B. ORDER BY 工资 desc
C. ORDER BY 工资 asc
D. ORDER BY 工资 dictinct

正确选项:B
解析:ORDER BY是排序,降序的关键字是desc,默认是升序


16.模式查找like '_a%',下面哪个结果是可能的( )。
A. aili
B. bai
C. bba
D. cca

正确选项:B
解析:like是模糊查询的关键字,like '_a%'表示查找第二个字符为“a”的,模糊查询用到两个通配符,下划线“_”表示该位置有一个字符,而且必须、只能有一个,百分号“%”表示该位置可以有0到多个字符,可以没有,也可以多个


17.模式查找like '%b_',下面哪个结果是可能的( )。
A. aili
B. Abai
C. HELbba
D. cca

正确选项:C
解析:like是模糊查询的关键字,like '%b_'表示查找倒数第二个字符为“b”的,模糊查询两个通配符,下划线“_”表示该位置有一个字符,而且必须、只能有一个,百分号“%”表示该位置可以有0到多个字符,可以没有,也可以多个


18.SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且( )。
A. 包括15岁和35岁
B. 不包括15岁和35岁
C. 包括15岁但不包括35岁
D. 包括35岁但不包括15岁

正确选项:A
解析:BETWEEN 15 AND 35表示大于等于15,并且小于等于35的连续区间,包括两个边界值。


19.现有书目表book,包含字段:价格price (float),类别type(char); 现在查询各个类别的最高价格、类别名称,以下语句正确的是( )。
A. select max(price),type from book group by type
B. select max(price),type from book group by price
C. select avg(price),type from book group by price
D. select min(price),type from book group by type

正确选项:A
解析:GROUP BY是分组,ORDER BY是排序,计算最高单价要用到最大值函数max(),将单价列名price作为max()函数的参数,查询每一个类别最高单价,要按类别的列名type分组


20.通过 SQL,从 “Persons” 表中选取 “FirstName” 列以 “a” 开头的所有记录( )。
A. SELECT * FROM Persons WHERE FirstName LIKE 'a%'
B. SELECT * FROM Persons WHERE FirstName='a'
C. SELECT * FROM Persons WHERE FirstName LIKE '%a'
D. SELECT * FROM Persons WHERE FirstName='%a%'

正确选项:A
解析:查询所有列,用 select * 即可,表名"Persons"放在from后面,表明数据来源,筛选条件写在where子句中,以 “a” 开头表示第一个字符是“a”,后面的内容任意,则用通配符百分号“%”表示该位置可以有0或多个字符。


21.Sql server提供了一些字符串函数,以下说法错误的是( )。
A. select right('hello',3) 返回值为:hel
B. select ltrim(rtrim(‘ hello ’)) 返回值为:hello(前后都无空格)
C. select replace('hello','e','o') 返回值为:hollo
D. select len('hello') 返回值为:5

正确选项:A
解析:right()函数表示从右侧取子串,ltrim()函数表示去掉左侧空格,rtrim()函数表示去掉右侧空格,len()函数用于计算字符串中字符个数,replace()函数用于替换字符串中字符。


22.用于求系统日期的函数是( )。
A. YEAR()
B. GETDATE()
C. COUNT()
D. SUM()

正确选项:B
YEAR()函数取日期中的年,GETDATE()函数取系统当前日期,COUNT()是统计表中记录数函数,SUM()是求和函数


23.以下( )语句从表TABLE_NAME中提取前10条记录。
A. select * from TABLE_NAME where rowcount=10
B. select TOP 10 * from TABLE_NAME
C. select TOP percent 10 * from TABLE_NAME
D. select * from TABLE_NAME where rowcount<=10

正确选项:B
解析:SQL Server中查询前n条需要在select后面,输出列前面加上“top n”,查询前百分之几,则是加“top n percent”,表名TABLE_NAME写在FROM后面,表示数据来源。D选项中“where rowcount<=10”是oracle中的写法


24.在SQL查询时,使用WHERE子句指出的是( )。
A. 查询目标
B. 查询条件
C. 查询视图
D. 查询结果

正确选项:B
解析:无


25.下列聚合函数中正确的是( )。
A. SUM(*)
B. MAX(*)
C. COUNT(*)
D. AVG(*)

正确选项:C
解析:聚合函数中只有count()函数可以用*做参数,其他函数只能用列名做参数


26.查找 student表中所有电话号码(列名:telephone)的第一位为8或6,第三位为0的电话号码( )。
A. SELECT telephone FROM student WHERE telephone LIKE '[8,6]%0*'
B. SELECT telephone FROM student WHERE telephone LIKE '(8,6)*0%'
C. SELECT telephone FROM student WHERE telephone LIKE '[8,6]_0%'
D. SELECT telephone FROM student WHERE telephone LIKE '[8,6]_0*'

正确选项:C
解析:查找第一位可以是8或6两种字符的,用 LIKE '[8,6]%‘表示。要求第三位为0,则第一位和“0”之间必须有一个字符,所以用下划线通配符“”,通配符只有两个下划线“”和百分号“%”


27.通过 SQL,从 “Persons” 表中选取所有的列的语句是( )。
A. SELECT [all] FROM Persons
B. SELECT Persons
C. SELECT * FROM Persons
D. SELECT *.Persons

正确选项:C
解析:选取所有的列,可以在SELECT后面把列名一个个列出来,也可以用*号代替,表名一定要写在from后面,查询语句中select和from子句必须有。 select子句中没有写distinct去除重复,默认的就是ALL,取所有满足条件的行


28.通过 SQL,从 “Persons” 表中选取 “FirstName” 列等于"Peter"的所有记录( )。
A. SELECT [all] FROM Persons WHERE FirstName='Peter'
B. SELECT * FROM Persons WHERE FirstName LIKE 'Peter'
C. SELECT [all] FROM Persons WHERE FirstName LIKE 'Peter'
D. SELECT * FROM Persons WHERE FirstName='Peter'

正确选项:D
解析:选取所有的列,可以在SELECT后面把列名一个个列出来,也可以用号代替, select子句默认的是ALL,取所有满足条件的行,可以写上all, 但列名或号不能省略。表名“Persons”一定要写在from后面,查询条件写在where子句中。 LIKE用于模糊查询,要和通配符“_”或“%”一起使用才有作用。


29.查询 “Persons” 表中记录数的SQL语句是( )。
A. SELECT COLUMNS() FROM Persons
B. SELECT COLUMNS(*) FROM Persons
C. SELECT COUNT() FROM Persons
D. SELECT COUNT(*) FROM Persons

正确选项:D
解析:查询记录数用count()函数,有三种写法:count(),count(列名)或count(distinct 列名)。count()表示统计所有行,不管是否有空值,count(列名)表示统计该列不为空值的行数,count(distinct 列名)表示统计该列值不为空,并且也不重复的行数。


30.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中使用最频繁的是( )。
A. SELECT
B. INSERT
C. UPDATE
D. DELETE

正确选项:A
解析:select 是使用最多的语句,增、删、改操作也需要用到select语句


  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值