-1
来问你的帮助。考虑下面的表,用下面的数据:MySQL从这三个表中查询数据的最佳方式
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 2013-03-02 03:43:15
查询有什么问题? – Oliver 2013-03-02 03:45:26
@DiMono这是我的英语,男人,我应该说'最好的表现' @Oliver我不知道从表x,y或z开始,使用inner,outer,left,right还是any其他变化我还不知道... – 2013-03-02 03:57:24