day15—选择题

文章目录

    • 1.设有一个数据库mydb中有一个表tb1,表中有六个字段,主键为ID,有十条记录,ID从0到9,以下代码输出结果是(C)
    • 2.数据库做join操作时,至少要涉及到几张表(B)
    • 3.在Mysql中,语句 SELECT IF(-1,5,2) 的返回值是(B)
    • 4. 数据库中存在学生表S、课程表C和学生选课表SC三个表,它们的结构如下:

1.设有一个数据库mydb中有一个表tb1,表中有六个字段,主键为ID,有十条记录,ID从0到9,以下代码输出结果是(C)

day15—选择题_第1张图片
A 6
B 4
C 3
D 5

思路:mysql_num_fields($result)表示查询字段的数目,上述代码中查询了id,name和age三个字段

2.数据库做join操作时,至少要涉及到几张表(B)

A 3
B 1
C 2
D 4

思路:自连接就是只设计一张表

3.在Mysql中,语句 SELECT IF(-1,5,2) 的返回值是(B)

A 2
B 6
C -1
D 5

思路:if()函数的具体语法如下:IF(expr1,expr2,expr3),如果expr1的值为真(boolean值true,或不为O的数值),则返回expr2的值,否则返回expr3的值

4. 数据库中存在学生表S、课程表C和学生选课表SC三个表,它们的结构如下:

S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性
别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。请检索选修课程号为C2的学
生中成绩最高的学号。( D)
A

SELECT S#,SUM(GRADE)
FROM SC 
WHERE GRADE>=60 
GROUP BY S# 
ORDER BY 2 DESC
HAVING COUNT(*)>=4 
WHERE C#="C2"
AND GRADE >=(SELECT GRADE FORM SC WHERE C#=“C2”)

B

 SELECT S# FORM SC 
 WHERE C#=“C2” 
 AND GRADE IN 
 (SELECT GRADE FORM SC WHERE C#=“C2”)

C

SELECT S# FORM SC 
WHERE C#=“C2” 
AND GRADE NOT IN 
(SELECT GRADE FORM SC WHERE C#=“C2”)

D

SELECT S# FORM SC 
WHERE C#=“C2” 
AND GRADE>=ALL 
(SELECT GRADE FORM SC WHERE C#=“C2”)

思路:题目并没有说要分数大于60,排除A;B是查询所有出c2课程的分数;C不会返回任何结果集; ALL()表示满足所有的才会返回,意思是返回的结果集的分数必须大于等于C2课程的所有分数,所以查询的结果就是C2的学生中成绩最高的学号

你可能感兴趣的:(每日一题,数据库,mysql,sql)