首页 > 试题广场 >

athletes 表包含运动员姓名,年纪和代表国家。下面哪个

[单选题]

athletes 表包含运动员姓名,年纪和代表国家。下面哪个查询可以找出代表每个国家最年轻的运动员情况?

  • SELECT name, country, age FROM athletes WHERE (country, age) IN (SELECT country, min(age) FROM athletes GROUP BY country)
  • SELECT name, country, age FROM athletes WHERE (country, age) IN (SELECT min(age), country FROM athletes GROUP BY country)
  • SELECT name, country, age FROM athletes WHERE (country, age) IN (SELECT country, min(age) FROM athletes) GROUP BY country
  • SELECT name, country, age FROM athletes WHERE age IN (SELECT country, min(age) FROM athletes GROUP BY country)
SELECT name, country, age FROM athletes WHERE (country, age) IN (SELECT country, min(age) FROM athletes GROUP BY country)
发表于 2021-05-12 15:34:53 回复(0)
A
发表于 2016-12-07 16:05:10 回复(0)
A:是正确的
B:嵌套查询的子查询列名顺序和in之前的返回列名不一致
C:group by是跟在where后面的
D:嵌套查询的子查询是有两个返回值,而In之前只有一个age所以数据只会返回age不会返回国家与题目不符.
发表于 2017-02-05 22:52:40 回复(1)
A
select后面写需要选择的列名,from表名,where进行条件选择
使用国家以及年龄进行筛选,要求这个国家和年龄是这个国家里年龄最小的
使用in进行筛选,in后面的数据应为每个国家年龄最小运动员数据,因此从运动员表中选择出国家及最小年龄,以国家进行分组,A正确
B由于in后面选择出表的列顺序与in前面查找数据的顺序不同无法得到该结果
C将以国家分组放在括号外面导致in后面括号中select语法错误,并且不符合题意
D只以年龄进行in筛选无法确定是哪个国家的运动员,无法得到正确结果
发表于 2017-01-28 12:32:39 回复(1)
C本身Sql语法有大问题
编辑于 2024-03-02 17:58:16 回复(0)
C语法错误
发表于 2021-07-31 19:56:54 回复(0)
嵌套子序列要与查询的时候的顺序一致
发表于 2021-07-09 08:48:05 回复(0)
in语句就是用于筛选, select job,sal from emp where job='salesman' or job='police' select job,sal from emp where job in ('salesman','police') 上面效果一样 1.用(county,age)两个属性去筛选,一般要有两个结果集才满足逻辑, 2.在后面那个结果集中先按国家分组,求出每个国家最小年龄的运动员,再用in或者等号去筛选(其实此处用等号我还没写过,测试过的可上传正确答案,不强求)
发表于 2018-03-07 15:11:56 回复(0)
只有个别数据库才支持where后跟多个字段吧。
发表于 2017-11-01 22:54:45 回复(0)

in前面的过滤字段还可以是多个啊!没用过

发表于 2017-05-01 10:44:08 回复(1)
A选项对吗?
SELECT country, min(age)   多个country对应一个age?

编辑于 2017-03-24 11:34:45 回复(0)