警告ここで私が唯一、以下のツールでこれを完了する必要があります:SQL:行が別のテーブルの外部キーである場合に、テーブル内のすべての行を検索
基本的なSQL構文:
SELECT FROM .. AS WHERE..
。格別です。集合演算子:
UNION, INTERSECT, EXCEPT
一時的な関係を作成します。
<, >, <=, ==
ようCREATE VIEW... AS ...
算術演算子などを
サブクエリは
NOT IN
のコンテキストまたは減算演算に使用することができます。私。私は上記1-5に記載されていない任意のjoin, limit, max, min, count, sum, having, group by, not exists, any exists, count, aggregate
機能または何か他のものを使用することはできません(select ... from... where not in (select..
。)
。
スキーマ:
People (id, name, age, address)
Courses (cid, name, department)
Grades (pid, cid, grade)
私は、クエリを満たしたが、私は(私が使用できない)が存在していない使用。
select People.name from People
where not exists
(select Courses.cid from Courses
where not exists
(select grades.cid from grades
where grades.cid = courses.cid and grades.pid = people.id))
はないでまたはIを使用させていただいております他のいくつかの方法を使用してこれを解決する方法があります:以下のSQLはコーステーブル内のすべてのクラスを取った人だけを示して?私はこれと数時間苦労しました。誰かがこのばかげた障害を助けることができるなら、私は喜んであなたの答えをupvoteし、あなたの答えを選択します。
をすることができます欠落していない学生を選択するために、少なくとも1つのクラス
3使用
not in
が欠落している学生を識別するために'join'や集約関数を使う?多分、あなたは不完全なリストを持つ生徒を特定するために 'except'を使うことができます。それに対して' NOT IN'を使用します。 –コーステーブルのすべてのコースを受講しなかった人を見てみるとどうなりますか?問題を抱えている –