テーブルAとBが2つあります。
id | name | num
id | date | roll
テーブルBのidは、テーブルAのidに関連する外部キーです。
Idが指定されているテーブルBのコンテンツを取得し、そのデータとともに、テーブルAからidが指定されている名前が必要です。
私はグーグルを行って、いくつかの奇妙なキーワードLEFT、JOINを見つけましたが、それを理解できませんでした。
1つのクエリで、テーブルBから日付とロールを取得し、テーブルAから名前を取得する必要があります。 (idは外部キーです)
残念ながら、使用しているプラグインでは、コンマで区切られた複数のクエリを使用できないため、1つのクエリでSELECT
sを両方実行する必要があります。
テーブルの結合は、リレーショナルデータベースの基本原則です。あなたの場合、AとBはid
列に関連しています。つまり、次のような構文を使用できます。
SELECT a.id, a.name, a.num, b.date, b.roll
FROM a
INNER JOIN b ON a.id=b.id;
INNER JOIN
は、AとBに一致するレコードがある行のみが表示されることを意味します。Aのすべての行とBの一致するレコードが必要な場合は、INNER JOIN
をLEFT JOIN
に変更できます。逆に、BのすべてのレコードとAの一致するレコードのみが必要な場合は、RIGHT JOIN
を使用します。最後に、一致するかどうかにかかわらず、両方のテーブルのすべてが必要な場合は、FULL JOIN
を使用できます。
必要な結果を得るには、これらのテーブルを結合する必要があります。
SELECT b.*, a.name FROM tableB AS b INNER JOIN tableA as A ON (b.id=a.id);
このクエリは、テーブルBのすべてとテーブルAのname
を返します。テーブルBのIDはテーブルAのIDと同じです。
外部キーに関連付けられた2つのテーブルから結果を取得するには、テーブルを結合する必要があります。
あなたが結果を望むように、以下のクエリを見つけてください:
SELECT name, date, roll
FROM A
INNER JOIN B
ON A.id = B.id;
外部キーに関連付けられた両方のテーブル(つまり、共通列)からデータを取得するには、両方のテーブルを結合する必要があります。
両方のテーブルのデータを照合する場合は、INNER JOINを使用します。
> SELECT A.List_Of_columns,B.List_Of_columns FROM Table1 AS A INNER
> JOIN Table2 as B ON A.ID=B.ID (Here Id is Common in both table).
両方のテーブルの一致するデータとtable1のすべてのレコードが必要な場合は、内部結合の代わりに左結合を使用します。 table2のすべてのレコードが必要な場合は、右結合を使用します。