1つのテーブル(selectステートメントを使用して作成)のすべての値が他のテーブル(selectコマンドを使用して作成)のすべての1つのselectステートメントに存在するかどうかを確認するコマンドを知りたいと思いました。たとえば、属性fid
とファカルティテーブルfaculty_name
があります。および、、o別の。現在のすべての部屋で教えているすべての教員を確認するにはどうすればよいですか?fid
class_name
room_n
質問する
13233 次
3 に答える
7
下手な質問ですが、
--
-- all faculty without a class
--
select *
from faculty f
where not exists ( select *
from class c
where c.fid = f.fid
)
--
-- all classes wihout faculty
--
select *
from class c
where not exists ( select *
from faculty f
where f.fid = c.fid
)
--
-- all-in-one. Each returned row represents
-- either a faculty or class without a match
-- in the other
--
select *
from faculty f
full join class c on c.fid = f.fid
where c.fid is null
or f.fid is null
于 2012-10-29T16:35:51.387 に答える
0
このようなものを試すことができます。
select a.faculty_name, b.class_name, b.room_no
from faculty a, Table2 b
where a.fid = b.fid
于 2012-10-29T16:23:49.737 に答える
-1
教員とクラスの 2 つのテーブルがあるとします。Fid (教員 ID) は、教員テーブルの主キー、およびクラス テーブルの外部キーにする必要があります。
ここで探しているのは、すべての学部にクラスがあるか、一部の学部だけがあるかの 2 つのケースだけです。
誰がクラスを持っているかを見つけるには:
SELECT
fid,
faculty_name
FROM
faculty f
INNER JOIN
class c
ON
f.fid = c.fid
クラスを持っていない人を見つけるには:
SELECT
fid,
faculty_name
FROM
faculty f
LEFT OUTER JOIN
class c
ON
f.fid = c.fid
WHERE
c.fid is null
于 2012-10-29T23:18:34.333 に答える