zoukankan      html  css  js  c++  java
  • 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 | 计算机系   | 湖南省衡阳市 |

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

  • 相关阅读:
    了解 NoSQL 的必读资料
    关于什么时候用assert(断言)的思考
    这次见到了一些大侠
    NetBeans 时事通讯(刊号 # 87 Jan 12, 2010)
    动态链接库dll,静态链接库lib, 导入库lib
    新女性十得 写得了代码,查得出异常
    记录系统乱谈
    新女性十得 写得了代码,查得出异常
    fullpage.js禁止滚动
    RunningMapReduceExampleTFIDF hadoopclusternet This document describes how to run the TFIDF MapReduce example against ascii books. This project is for those who wants to experiment hadoop as a skunkworks in a small cluster (110 nodes) Google Pro
  • 原文地址:https://www.cnblogs.com/resolvent/p/6131027.html
Copyright © 2011-2022 走看看