- - PR -
SQL文の書き方について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-07-03 21:18
学生一覧
学生ID 学生NAME 1001 一郎 1002 二郎 1003 三郎 1004 四郎 1005 五郎 1006 六郎 1007 七郎 クラブ参加状況 学生ID クラブID クラブNAME 1001 11 サッカー部 1002 12 野球部 1004 12 野球部 ここからまだクラブに参加していない学生の一覧を取得したいです。 どのように取得できるのでしょうか? 下記方法を考えましたけど、もっといい方法あるのでしょうか? SELECT A.学生ID, A.学生NAME FROM 学生一覧 A MINUS SELECT A.学生ID, A.学生NAME FROM 学生一覧 A, クラブ参加状況 B WHERE A.学生ID = B.学生ID |
|
投稿日時: 2005-07-03 21:34
はじめまして、良太です。
現在ORACLE9iを使用していますが、上記のようなSQL文を書くことになりましたが、どのように書けばいいか分からなくて、聞いています。よろしくお願いします。 |
|
投稿日時: 2005-07-03 23:39
こんばんは。
Marimoと申します。 NOT EXSITSを利用するのはいかがでしょうか。 または、外部結合させてクラブ参加状況情報がNULLになるものを取得してもよいでしょうか。 |
|
投稿日時: 2005-07-04 10:16
NOT IN句を使うパターンです。
SELECT 学生ID, 学生NAME FROM 学生一覧 WHERE 学生ID NOT IN ( SELECT 学生ID FROM クラブ参加状況 ) 他の方法もありますので、色々と試してみてはどうでしょうか。 トレースを取得すればOracleのコストもわかりますので、効率の良いSQLもわかると思います。 |
1