我从一个MySQL SELECT涉及a 的查询得到了奇怪的结果LEFT JOIN,我无法理解我的理解LEFT JOIN是错误的还是我看到了一个真正奇怪的行为.
我有两个表有多对一关系的表:对于每个记录中table 1有0个或更多记录table 2.我想选择表1中的所有记录,其中的列计算表2中相关记录的数量.据我所知,LEFT JOIN应始终返回LEFT语句一侧的所有记录.
这是一个展示问题的测试数据库:
CREATE DATABASE Test;
USE Test;
CREATE TABLE Dates (
dateID INT UNSIGNED NOT NULL AUTO_INCREMENT,
date DATE NOT NULL,
UNIQUE KEY (dateID)
) TYPE=MyISAM;
CREATE TABLE Slots (
slotID INT UNSIGNED NOT NULL AUTO_INCREMENT,
dateID INT UNSIGNED NOT NULL,
UNIQUE KEY (slotID)
) TYPE=MyISAM;
INSERT INTO Dates (date) VALUES ('2008-10-12'),('2008-10-13'),('2008-10-14');
INSERT INTO Slots (dateID) VALUES (3); …Run Code Online (Sandbox Code Playgroud)