-1
입니다. 다음 데이터를 사용하여 아래 표를 고려하십시오.이 세 테이블의 데이터를 쿼리하는 가장 좋은 방법은
DROP SCHEMA IF EXISTS `jointest`;
CREATE SCHEMA `jointest`;
USE `jointest`;
CREATE TABLE x (id INT PRIMARY KEY AUTO_INCREMENT , field VARCHAR(20));
CREATE TABLE z (id INT PRIMARY KEY AUTO_INCREMENT, field VARCHAR(20));
CREATE TABLE y (id_x INT, id_z INT, PRIMARY KEY (id_x, id_z));
INSERT INTO x VALUES (NULL,"Good Morning,"), (NULL,"Good Night,"), (NULL,"Bye");
INSERT INTO z VALUES (NULL, "Dad"), (NULL, "Mom"), (NULL, "Bro!");
INSERT INTO y(id_x, id_z) values(1,1), (1,2), (1,3), (2,1), (2,2), (3,3);
테이블 x, z의 데이터를 쿼리하는 더 나은 솔루션이 있습니까? 나는 가까운 무언가를 장만하고 있습니다.
SELECT x.field, z.field
FROM y
INNER JOIN x ON (y.id_x = x.id)
INNER JOIN z ON (y.id_z = z.id)
ORDER BY x.id;
도와 주셔서 감사합니다!
무엇보다 솔루션이 더 좋습니까? 당신이 보여주는 쿼리보다? – DiMono
검색어에 어떤 문제가 있습니까? – Oliver
@DiMono 내 영어로, '최고 성능'이라고 말했어 야했다. @Oliver 표 x, y 또는 z에서 시작하여 내부, 외부, 왼쪽, 오른쪽 또는 다른 것을 사용하는 것이 더 나을지 모르겠다. 아직 다른 모범 사례 ... –