나는 mysql을 올바르게 배우려고 노력하고있다. 2 개의 테이블을 사용하는 쿼리가있을 때 항상 필드 이름 앞에 테이블 이름을 써야합니까? 난이 방법으로 그것을 확인 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, pet b를 선택하십시오. a.owner_id = b.owner_id 순서는 a.username으로 b.name' –