文章目录
1.设有一个数据库mydb中有一个表tb1,表中有六个字段,主键为ID,有十条记录,ID从0到9,以下代码输出结果是(C)
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的学生中成绩最高的学号