牛客网-SQL专项训练10
2022/9/14 2:17:02
本文主要是介绍牛客网-SQL专项训练10,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
①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' , '女');
解析:
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
这篇关于牛客网-SQL专项训练10的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27数据结构与算法面试题详解及练习
- 2024-12-27网络请求面试题详解与实战
- 2024-12-27数据结构和算法面试真题详解与实战教程
- 2024-12-27网络请求面试真题解析与实战教程
- 2024-12-27数据结构和算法大厂面试真题详解与实战指南
- 2024-12-27TS大厂面试真题解析与应对策略
- 2024-12-27TS大厂面试真题详解与解析
- 2024-12-27网站安全入门:如何识别和修复漏洞
- 2024-12-27SQL注入基础教程
- 2024-12-27初学者指南:理解和修复跨域漏洞