MySQLのカラム名の記載方法

私はINNER JOINを使う時のカラム名の指定方法を勘違いしていました。

大した話ではないですが、備忘録を兼ねて学んだことをシェアします。

使用するテーブルが1つの時

例:SELECT カラム名 FROM member_table WHERE name=taro

こんな時のカラム名は、

カラム名

で指定します。
とても単純です。

使用するテーブルが2つ以上の時

さて、ここからが本題です。

実行するクエリで、INNER JOINなどで2つ以上のテーブルが出てくる場合は少しの知識が必要です。

基本は先ほどと同様、

カラム名

で問題ありません。

しかし、例えば「id」というカラム名を「table_a」というテーブルでも、「table_b」というテーブルでも使っている場合は

テーブル名.カラム名

のように、どっちのテーブル名なのかをカラム名の前に表記してあげる必要があります。

勘違いしていたこと

FROM
	table_a
INNER JOIN
	table_b

私は最初、こんな時に「table_a」はこのクエリ上でメインだから「カラム名」だけで良くて、「table_b」はこのクエリ上でメインだから「table名.カラム名」と指定しなければいけないのかなぁと勝手に思っていたのですが、そんなことありませんでした。

重複するカラム名があるかないかで、それぞれのカラム名の指定方法を決めてあげればいいのでした。

コメント

タイトルとURLをコピーしました