警告:这是一个非常新手的软问题,来自几天前才开始修改SQL的人。
因此,我正在尝试使用SQL Fiddle(http://sqlfiddle.com/)教自己一些基本的SQL 。它只是一个基本的SQL表生成器,使我可以测试一些查询。如果需要,您可以使用它快速查看我的表格。
我正在使用MySQL 5.5.32。
现在,我的表如下所示:
CREATE TABLE masters (
name VARCHAR(15),
num INT,
riches VARCHAR(15),
age INT,
PRIMARY KEY (num)
);
CREATE TABLE slaves (
slavename VARCHAR(15),
num INT,
slaveage INT,
FOREIGN KEY (num) REFERENCES masters(num)
);
INSERT INTO masters
VALUES ("Pharao", 0, "Somewhat", 51);
INSERT INTO masters
VALUES ("Cleo", 10, "Loads", 29);
INSERT INTO masters
VALUES ("Dracula", 15, "Nice estate", 847);
INSERT INTO slaves
VALUES ("LoneSlave", 0, 29);
INSERT INTO slaves
VALUES ("SexyMan", 10, 21);
INSERT INTO slaves
VALUES ("SexyWoman", 10, 19);
INSERT INTO slaves
VALUES ("Zombie", 15, 72);
INSERT INTO slaves
VALUES ("Wolfman", 15, 51);
INSERT INTO slaves
VALUES ("Frankenstein", 15, 51);
现在,我才刚刚开始学习JOIN。
这是我的问题;之间有什么区别:
SELECT * FROM masters JOIN slaves ON masters.num = slaves.num;
和...
SELECT * FROM masters, slaves WHERE masters.num = slaves.num;
据我所知,它们产生完全相同的结果。
有人可以告诉我这些结果之间有什么区别吗?
我的意思是,这只是一种偏爱,还是一个相对于另一个有明显的优势?
(PS:我会用这个soft-question
标签,但是很明显这是叛国罪,直到我有1500个代表。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句