私は2つのテーブルを持っています:クラスとインストラクター。多くの参照があるときにテーブルを効率的にクエリ
class
id: int
title: varchar(45)
instructor
id: int
class_id: int
name: varchar(45)
の1つのクラスに関連付けられている2人のインストラクターがあるとしましょう:
INSERT INTO `class` VALUES(1, 'Class Number 1');
INSERT INTO `instructor` VALUES (1, 1, 'John Smith');
INSERT INTO `instructor` VALUES (2, 1, 'Jane Smith');
は、どのように私はインストラクターの名前のクラスのリストを照会については行くのですか?私はクエリーについて考えた2つの方法があり、より効率的な方法を望んでいました。
クエリごとに一度クラス
class
FROMSELECT *; SELECT * FROM
instructor
WHERE class_id =?;クエリ一緒
class
C、instructor
I、c
FROMSELECT *複数の行で同じクラスを持つ彼ら。
id
=i
。class_id
GROUP BYc
。id
;
インストラクターがカンマで区切られたクラスリストの出力を期待していたのは何ですか?
これにはプラットフォーム固有のアプローチがあります。どのデータベースを使用しているか教えていただけますか? –
MySQLサーバ5.0 – stan