私はmysqlを正しく学習しようとしています。私は2つのテーブルを使用してクエリを持って、私はすべての時間フィールド名の前にテーブル名を書く必要がありますか?私はどのクエリを使うべきですか?
これは私がしなければ、この方法は、それがOK aswellある?
SELECT
owner.title, owner.forename, owner.surname,
pet.name, pet.breed
FROM
owner,pet
WHERE
owner.owner_id = pet.owner_id
ORDER BY
owner.surname ASC, pet.name ASC
を持っているものですか
SELECT
title, forename, surname,
name, breed
FROM
owner,pet
WHERE
owner.owner_id = pet.owner_id
ORDER BY
surname ASC, name ASC
私は上記のいずれも言わないと思います。 whera a.id = b.idの代わりに 'INNER JOIN'を使用してください。 a.id = b.idは意図を隠していた。内部結合を使用すると、結合するフィールドを明示的に指定できます。読みやすさが向上します – Icarus
が間違っています。両方のクエリが正しい場合 –
@ baris22長いテーブル名を入力しない場合は、テーブル名のエイリアスをいつでも付けることができます。例: 'a.title、a.forename、a.surname、b.name、b.breedを所有者a、ペットbから選択します。a.owner_id = b.owner_idをa.usernameで並べ替えます。b。名前 ' –