已知基本表S对应的关系模式为(S#,SNAME,AGE),下列SELECT子句中正确的是()。

题目
多选题
已知基本表S对应的关系模式为(S#,SNAME,AGE),下列SELECT子句中正确的是()。
A

SELECT S#, AVG(AGE)

B

SELECT DISTINCT AGE

C

SELECT SNAME 姓名

D

SELECT AGE>20

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有如下三个关系S(S#,SNAME,SEX,AGE),C(C#,CNAMME),SC(S#,C#,GRADE)。其中S#为学生号,SNAME为学生姓名,SEX为性别,AGE为年龄,C#为课程号,CNAME为课程名。要查询选修“数据库”课的全体学生姓名和成绩的SQL语句是SELECT SNAME,GRADE FROMS,C,SCWHERE子句。这里WHERE子句的内容是( )。

A.S.S#=SC.S#ANDC.C#=SC.C# AND CNAME IN'数据库'

B.S.S#=SC.S# AND CNAME='数据库'

C.S.S#=SC.S#ANDC.C#=SC.C# AND CNAME'数据库'

D.S.S#=SC.S#ANDC.C#=SC.C# AND CNAME='数据库'


正确答案:D

第2题:

下列关于这个关系的叙述中,不正确的是

职员关系是S(S#,SNAME,SEX,AGE)主码为S#

部门关系是C(C#,CNAME)主码为C#

职员部门关系是SC(S#,C#,remark)主码为(S#,C#)

A.SC.C#是外码

B.SC.S#是外码

C.S是SC的参照关系

D.C是SC的目标关系


正确答案:D

第3题:

(41)若要求查找姓名中第二个字为‘阳’字的学生的学号和姓名,下列 SQL 语句中,哪一个(些)是正

确的?

Ⅰ.SELECT S#,SNAME FROM S WHERE SNAME = '__阳%'

Ⅱ. SELECT S#,SNAME FROM S WHERE SNAME LIKE '__阳%'

Ⅲ. SELECT S#,SNAME FROM S WHERE SNAME LIKE '%阳%'

A)只有Ⅰ

B)只有Ⅱ

C)只有Ⅲ

D)都正确


正确答案:B

(41)【答案】B)
【解析】说明:LIKE谓词的一般形式:列名LIKE字符串常数这里,列名的数据类型必须是字符型。在字符串中字符的含义如下:
1字符‘—,表示可以和任意的单个字符匹配
2字符% 表示可以和任意长的(长度可以为零)字符串匹配。面I中没有LIKE谓词,III中的%查出来的不能保证第二个字符是“阳”

第4题:

S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号, CN为课程名,GRADE为成绩。检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是______。

A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN='王华')

B.SELECT SN, AGE, SEX FROM S WHERE SN='王华'

C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN='王华')

D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华AGE


正确答案:A
解析:选项B查询的结果是显示出姓名为王华的学生姓名、年龄、和性别。
选项C在嵌套的SELECT语句中缺少必要的短语FROM。
选项D格式不正确。

第5题:

若要求查找姓名中第一个字为“李”的学生号和姓名。下面列出的SQL语句中,哪个(些)是正确的?

Ⅰ.SELECT S#,SNAME FROM S WHERE SNAME=‘李%’

Ⅱ.SELECT S#,SNAME FROM S WIERE SNAME LIKE'李%'

Ⅲ.SELECT S#,SNAME FROM S WHERE SNAME LIKE'李_'

A.Ⅰ

B.Ⅱ

C.Ⅲ

D.全部


正确答案:B
解析: SQL语句的一般格式为:
  SELECT[ALL| DISTINCT]目标列表达式>…
  FROM基本表>…
  WHILE条件表达式>
  CROUP BY列名>
  其中WHILE条件表达式>中的列名为宇符时,采用如下形式:WHILE sname LIKE '李%',字符_(下划线)表示可以眼任意的单个字符相匹配,而字符%(百分号)可以跟任意长的字符串匹配。本题中的所选列向量为字符,且要求学生的第一个字为“李”,后面并没有限定,因此采用字符%(百分号)。

第6题:

查询选修了课程号为“MATHS”的学生的姓名和年龄,若用下列SQL的SELECT语句表达时,错误的是( )。

A) SELECT SNAME,AGE FROM S WHERE S. S# =(SELECT SC. S# FROM SC WHERE

c.c# ='MATHS ')

B ) SELECT SNAME, AGE FROM S WHERE S. S# =(SELECT SC. S# FROM SC WHERE

SC. C# =' MATHS ')

C) SELECT SNAME, AGE FROM S, SC WHERE S. S# =SC. S# AND SC. C# ='MATHS'

ORDER BY S. S#

D)SELECT SNAME, AGE FROM S, SC WHERE S. S# =SC. S# AND SC. C# ='MATHS'


正确答案:A
有两种方式进行题干所述的查询:连接查询方式和带嵌套的简单查询方式。连接查询方式是在表‘S和SC中按照S.S#=SC.S#和SC.C#=‘MATHS’的条件查找。带嵌套的简单查询方式是先只查询S表,在WHERE子句中限定“选修了课程号为‘MATHS’”…。WHERE子句中又带简单查询的SELECT语句,为SELECT SC.S#FROM SC WHERE SC.C#=‘MATHS’,即在SC表中按SC.C#=‘MATHS'的条件查找。 

第7题:

对于学生信息表S(SNUMBER,SNAME,SEX,AGE,DEPT)(STUDENT由学号SN0,姓名SNAME,性别SEX,年龄AGE,所在系DEPT5个属性组成,其中SNUMBER为主码),求年龄20~23岁之间的学生姓名和年龄,正确的语句是( )。

A) SELECT SNAME, AGE FROM S WHERE AGE>20 OR AGE<23

B) SELECT SNAME, AGE FROM S WHERE AGE BETWEEN 20 AND 23

C) SELECT * FROM S WHERE AGE BETWEEN 20 AND 23

D) 以上均不正确


正确答案:B
需要查询的是姓名和年龄属性,故主句为SELECT SNAME,AGE。WHERE子句中可以使用BETWEEN进行查询,BETWEEN指定允许取值的范围,AND前面是低值,后面是高值。年龄在20到23岁之间的条件表达式应为BETWEEN 20AND 23。

第8题:

若要求查找‘李’姓学生的学生号和姓名,正确的SQL语句是

A.SELECT S#,SNAME FROM S WHERE SNAME='李%.'

B.SELECT S#,SNAME FROM S WHERE SNAME LIKE '李%.'

C.SELECT S#,SNAME FROM S WHERE SNAME='%.李%.'

D.SELECT S#,SNAME FROM S WHERE SNAME LIKE '%.李%.'


正确答案:B
解析:SELECT S#,SNAME FROM S WHERE SNAME LIKE '李%.'只有这个查询语句可以查找'李'姓学生的学生号和姓名。“%.”的意思为后面可以跟任何字符。

第9题:

若要求查找姓名中第一个字为‘王’的学生号和姓名。下面列出的SQL语句中,哪个(些)是正确的?

Ⅰ.SELECT S#,SNAME FROM S WHERE SNAME='王%'

Ⅱ.SELECT S#,SNAME FROM S WHERE SNAMELIKE'王%'

Ⅲ.SELECT S#,SNAME FROM S WHERE SNAMELIKE'王'

A.Ⅰ

B.Ⅱ

C.Ⅲ

D.全部


正确答案:B
解析:本题是对SQL语句中的查询诗句的考查。该语句的,般格式为:SELECT[ALL|DISTINCT]目标列表达式>…FROM基本表>…WHILE条件表达式>GROUPBY列名>其中WHILE条件表达式>中的列名为字符时。采用如下形式:WHILEsnameLIKE'王%',字符-(下划线)表示可以跟任意的单个字符相匹配,而字符%(百分号)可以跟任意长的字符串匹配。本题中的所选列向量为字符,且要求学生的第一个字为“王”,后面并没有限定,因此采用字符%(百分号)。由上面分析可知,正确答案为选项B。

第10题:

有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#为学生号,SNAME为学生姓名,SEX为性别,C#为课程号,CNAME为课程名。要查询选修“数据库”课的全体学生姓名的SQL语句是SELECT SNAME FROMS,C,SC WHERE子句。这里的WHERE子句的内容是( )。

A.S.S#=SC.S# AND C.C#=SC.C# AND CNAME=‘数据库’

B.S.S#=S C.S# AND C.C#=S C.C# AND CNAME IN‘数据库’

C.CNAME‘数据库’

D.CNAME=‘数据库’


正确答案:A

更多相关问题