1

空のセルがいくつかあるかもしれませんが、完全なコンテンツであることを示すテーブルを作成しようとしています。このテーブルには、小さなクラブで可能な 10 の役職 (つまり、会長、幹事など) が含まれています。各役職は、誰がその役職に選出されたかに応じて、メンバー テーブル内のメンバー ID を参照します。ポジションが空いている可能性があり、これが私が達成しようとしていることです. 構造 (簡略化) は次のとおりです。

テーブル「メンバー」

CREATE TABLE members (
    id_member INT NOT NULL,
    member_name VARCHAR(45),
    PRIMARY KEY (id_member));

表の「位置」

CREATE TABLE positions (
    id_position INT NOT NULL,
    position_name VARCHAR(45),
    PRIMARY KEY (id_position)
    FOREIGN KEY (id_member) REFERENCES members(id_member));

構文を選択

SELECT position_name, member_name
FROM members
JOIN positions USING(id_members);

ポジションにメンバーがいる限り非常にうまく機能しますが、空いている場合、その行は表示されません。列 id_member に空のセルがある場合でも、テーブルの位置が常にすべての行を返すようにする方法はありますか?
望ましい結果:
Chariman - Jack Carver
秘書 - Joe Hill Accounter
- NULL
ウェブマスター - Joanna Robson

4

2 に答える 2

5

代わりに使用LEFT JOINして、tableNames を交換します

SELECT position_name, member_name
FROM   positions
       LEFT JOIN members USING(id_members);

結合に関する知識を完全に得るには、以下のリンクにアクセスしてください。

于 2013-01-25T08:07:05.100 に答える
0
SELECT position_name, member_name
FROM members
LEFT JOIN positions
ON members.id_member = positions.id_member;
于 2013-01-25T08:10:37.067 に答える