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 | 計算機系   | 湖南省衡陽市 |

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM