ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

牛客网-SQL专项训练10

2022-09-13 12:04:25  阅读:268  来源: 互联网

标签:... 女生 name 10 牛客 SQL group id


①SQL语句中与Having子句同时使用的语句是:group by

解析:

SQL语法中,having需要与group by联用,起到过滤group by后数据的作用。

②下列说法错误的是?C

 

 解析:

在使用insert语句插入数据时,表达式的数据类型和表格中对应各列的数据类型必须一一对应。

③Mysql中表student_table(id,name,birth,sex),插入如下记录:
('1003' , NULL , '2002-05-20' , '男');
('1004' , '张三' , '2000-09-06' , '男');
('1005' , '李四' , '2001-12-01' , '女');

('1006' , NULL , '2001-12-02' , '女'); 修改name字段为NULL的记录,是男生时设置name='男生姓名',是女生时设置name='女生姓名',如下SQL正确的是(D)?

 解析:

case when的正确语法是: case when ... then ... when ... then ... else ... end,case和end不能缺少!故直接排除B、C选项

而A选项:SQL语句中条件判断if的语法是:if(表达式成立,返回值,否则返回值),[ 修改name字段为NULL的记录 ]是应该把条件where语句写在最后。

SELECT product_name,sale_price FROM PRODUCT AS P WHERE EXISTS (SELECT * FROM SHOPPRODUCT AS SP WHERE SP.shop_id = ‘00C’ AND SP.product_id = P.product_id); 其中PRODUCT表示商品表,SHOPPRODUCT指商店在售商品表,其中shop_id字段表示商店id,product_id表示产品id。 以上这段sql主要是完成了哪个操作?A

 解析:

从商品表中查询,条件是两个表通过id进行关联,shop_id = ‘00C’,并且存在于在售商品表中,最后显示商品的名字和价格。即选出了‘00C’商店目前在售的商品和价格。与A选项最符合。

⑤Mysql中表student_table(id,name,birth,sex),分别查询男生、女生的最大、最小出生日期,如下SQL正确的是(D)?

解析:

BC选项最大的错误是确实group by sex

我在AD中纠结,仔细观察发现A选项分别求男生、女生的最大和最小年龄,男生先求的最小而女生先求的最大,再union all,结果就会以第一个子表的字段顺序为准显示出来,所以女生的max_birth会作为min_birth显示出来,结果与题意不符。故答案为D

 

标签:...,女生,name,10,牛客,SQL,group,id
来源: https://www.cnblogs.com/liu-myu/p/16688673.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有