mysql练习题-查询同时参加计算机和英语考试的学生的信息-遁地龙卷风

Posted 遁地龙卷风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql练习题-查询同时参加计算机和英语考试的学生的信息-遁地龙卷风相关的知识,希望对你有一定的参考价值。

(-1)写在前面

文章参考http://blog.sina.com.cn/willcaty

针对其中的一道练习题想出两种其他的答案,希望网友给出更多回答。

(0) 基础数据

student

+-----+--------+------+-------+------------+--------------+

| id  | name   | sex  | birth | department | address      |

+-----+--------+------+-------+------------+--------------+

| 901 | 张老大 | 男   |  1985 | 计算机系   | 北京市海淀区 |

| 904 | 李四   | 男   |  1990 | 英语系     | 辽宁省阜新市 |

| 905 | 王五   | 女   |  1991 | 英语系     | 福建省厦门市 |

| 906 | 王六   | 男   |  1988 | 计算机系   | 湖南省衡阳市 |

+-----+--------+------+-------+------------+--------------+

score

+----+--------+-----------+-------+

| Id | Stu_id | C_Name    | Grade |

+----+--------+-----------+-------+

| 23 |    901 | 计算机    |    98 |

| 24 |    901 | 英语      |    80 |

| 25 |    902 | 计算机    |    65 |

| 26 |    902 | 中文      |    88 |

| 27 |    903 | 中文      |    95 |

| 28 |    904 | 计算机    |    70 |

| 29 |    904 | 英语      |    92 |

| 30 |    905 | 英语      |    94 |

| 31 |    906 | 计算机    |    90 |

| 32 |    906 | 英语      |    85 |

+----+--------+-----------+-------+

(1)查询同时参加计算机和英语考试的学生的信息

方式一:

SELECT a.* FROM student a ,score b ,score c

    WHERE a.id=b.stu_id

    AND b.c_name=\'计算机\'

    AND a.id=c.stu_id

AND c.c_name=\'英语\';

方式二:

SELECT *  FROM student

     WHERE id =ANY

     ( SELECT stu_id FROM score

     WHERE stu_id IN (

              SELECT stu_id FROM

              score WHERE c_name=  \'计算机\')

     AND c_name= \'英语\' );

方式三:

select * from student where id in(

select s.stu_id from (select stu_id from score where c_name = \'计算机\') s

 (select stu_id from score where c_name=\'英语\') as t where s.stu_id=t.stu_id)

方式四:

 select * from student where id in (

 select stu_id from score where c_name =\'计算机\' and stu_id in(

 select stu_id from score where c_name =\'计算机\'));

 (2) 正确答案

 

+-----+--------+------+-------+------------+--------------+

 

| id  | name   | sex  | birth | department | address      |

 

+-----+--------+------+-------+------------+--------------+

 

| 901 | 张老大 | 男   |  1985 | 计算机系   | 北京市海淀区 |

 

| 904 | 李四   | 男   |  1990 | 英语系     | 辽宁省阜新市 |

 

| 906 | 王六   | 男   |  1988 | 计算机系   | 湖南省衡阳市 |

 

+-----+--------+------+-------+------------+--------------+

 

以上是关于mysql练习题-查询同时参加计算机和英语考试的学生的信息-遁地龙卷风的主要内容,如果未能解决你的问题,请参考以下文章

Mysql多表查询练习

sql 语句编写 查询参加全部科目考试的学生及其成绩 201601 张三 语文 82

MySQL学习日志十,子查询和嵌套查询

阿里云云计算认证ACP模拟考试练习题第6套模拟题分享(共10套)

记第一次参加电子学会(CIE)C语言等级考试附练习题

Java项目:(前端vue后台java微服务)在线考试系统(java+vue+springboot+mysql+maven)