前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL数据库对象与应用-MySQL进阶SQL应用单元测验

MySQL数据库对象与应用-MySQL进阶SQL应用单元测验

作者头像
WindCoder
发布2018-09-19 18:24:18
1.5K0
发布2018-09-19 18:24:18
举报
文章被收录于专栏:WindCoder

1、(单选)有表 song(id,song_name,album,play_count,fav_count)分别表示歌曲的主键id、歌曲名、专辑名、播放次数和收藏次数,以下与order by相关的sql错误的是:

  • A.select * from song order by play_count asc;
  • B.select * from song order by (play_count + fav_count) asc;
  • C.select * from song order by fav_count desc where play_count > 5;
  • D.select * from song order by id,play_count asc,fav_count desc;

解析:  C、order by 与 where 的先后顺序不对,先写where子句再写order by子句。

2、(单选)以下关于distinct的描述,正确的是:

  • A.distinct的作用是分组
  • B.distinct的查询结果一定是从小到大排序的
  • C.distinct可以和函数结合使用,如count(distinct col)
  • D.sql语句里使用了distinct,就不能使用group by或者order by

解析:  A、分组是group by,distinct是列出唯一的不同值

3、(多选)有表 song(id,song_name,album,play_count,fav_count)分别表示歌曲的主键id、歌曲名、专辑名、播放次数和收藏次数。要求查询超过两首歌的专辑与其歌曲数,并且按专辑名排序;有同学给出如下sql语句:

代码语言:javascript
复制
select id,count(*) from song order by album group by album having
count(*)>2 ;

这个sql错误的地方是:

  • A.order by 后面跟group by语句
  • B.album没有出现在select语句中
  • C.在having条件中使用了count(*)
  • D.这个sql没有问题

解析:  A、order by子句不能在group by的前面。  B、题干要求查询专辑,所以album需要select出来。

4、(单选)结合《SQL语言进阶篇》课程中介绍的歌单表play_list,下面这个sql实现了何种功能:

代码语言:javascript
复制
select userid from play_list group by userid having max(trackcount) > 10;
  • A.创建有超过10个歌单的用户列表。
  • B.创建有超过10首歌的歌单的用户列表。
  • C.创建歌单歌曲数超过10首歌的歌单列表。
  • D.创建歌单最大歌曲数超过10的歌单列表。

5、(单选)delimiter在MySQL中的作用是:

  • A.标识存储过程开始执行。
  • B.标识存储过程结束。
  • C.重置MySQL的命令结束符。
  • D.删除当前的MySQL分隔符。

6、(单选)下列关于触发器的说法,正确的是:

  • A.table表上有一个insert相关的触发器,即使 insert into table执行失败了,触发器仍然会触发执行。
  • B.MySQL 5.5上一张表上最多只能建两个update相关的触发器。
  • C.可以在一个t1表的before update触发器中执行update t1 的sql语句。
  • D.MySQL中的触发器不能更新其他database的表。

解析:  B、对于update,5.5版本只能在before和after update的时候各自建一个触发器。  C、触发器不能更新自身表的数据。  D、可以的,只要有权限。

7、(单选)一个班级有N个学生,每个学生有M门课程的成绩,假设成绩表结构为(学生ID,课程,成绩),要查询出总成绩最高的前K名学生,不需要用到的SQL关键字有:

  • A.HAVING
  • B.GROUP BY
  • C.SUM
  • D.ORDER BY

解析:  A、总成绩,需要sum;根据学生分组,需要group by;最高的,需要order by

select 学生id,sum(成绩) from table group by 学生id order by sum(成绩) desc limit K

8、(单选)下面这个语句有什么问题?

代码语言:javascript
复制
SELECT
* FROM Orders WHERE OrderID = (SELECT OrderID FROM OrderItems WHERE ItemQty
> 50)
  • A.’=’应该改成’IN’。
  • B.子查询不应该用圆括号括起。
  • C.子查询中OrderID应该用*代替。
  • D.上面所有都不正确。

9、(单选)有表tab(name varchar(20), id int, sal int)分别表示员工姓名、员工号、薪水,如何查找出薪水第二高的员工的薪水?

  • A.select max(sal) from tab where sal <max(select sal from tab)
  • B.select min(sal) from (select sal from tab order by sal limit 2)
  • C.select sal from tab order by sal desc limit 1 offset 1
  • D.select max(sal) from tab where sal not in (select max(sal) from tab)

解析:  C、可能是第一高的,因为第一高可能有2个人是一样的。

10、(多选)能被select * from tbl where col like '%b%e%' 查询出来的条件有:

  • A.ecbd
  • B.abcde
  • C.eedbe
  • D.cdde
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-07-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档