Mysql 如果四个表中都有匹配项,则内部联接仅返回值
我有下面的Mysql 如果四个表中都有匹配项,则内部联接仅返回值,mysql,sql,Mysql,Sql,我有下面的internaljoin语句,只有当四个表中的订单号都匹配时,它才会返回结果 我需要它在主表KC_Orders中包含每个结果,而不考虑$sql中每个内部联接表的等效内容 我知道这是内部连接的要点,但我需要它做些别的事情 $sql = "SELECT * FROM `KC_Orders` INNER JOIN `KC_Payments` ON KC_Orders.orde
internaljoin
语句,只有当四个表中的订单号都匹配时,它才会返回结果
我需要它在主表KC_Orders
中包含每个结果,而不考虑$sql
中每个内部联接
表的等效内容
我知道这是内部连接的要点,但我需要它做些别的事情
$sql = "SELECT *
FROM `KC_Orders`
INNER JOIN `KC_Payments`
ON KC_Orders.orderNumber = KC_Payments.orderNumber
INNER JOIN `KC_OrderStatus`
ON KC_Orders.orderNumber = KC_OrderStatus.orderNumber
INNER JOIN `KC_Statuses`
ON KC_OrderStatus.statusID = KC_Statuses.statusID";
$AllOrders = $db->query($sql);
使用左外连接
SELECT *
FROM
`KC_Orders`
LEFT JOIN `KC_Payments`
ON KC_Orders.orderNumber = KC_Payments.orderNumber
LEFT JOIN `KC_OrderStatus`
ON KC_Orders.orderNumber = KC_OrderStatus.orderNumber
LEFT JOIN `KC_Statuses`
ON KC_OrderStatus.statusID = KC_Statuses.statusID
如果始终存在可用状态,则可以保留KC_status
表的内部联接
。。。表示将返回
A
中的所有记录,并且仅返回B
中与A
中的记录匹配的记录。即使B
中没有匹配的记录,也会返回A
中的记录使用左外联接
SELECT *
FROM
`KC_Orders`
LEFT JOIN `KC_Payments`
ON KC_Orders.orderNumber = KC_Payments.orderNumber
LEFT JOIN `KC_OrderStatus`
ON KC_Orders.orderNumber = KC_OrderStatus.orderNumber
LEFT JOIN `KC_Statuses`
ON KC_OrderStatus.statusID = KC_Statuses.statusID
如果始终存在可用状态,则可以保留KC_status
表的内部联接
。。。表示将返回
A
中的所有记录,并且仅返回B
中与A
中的记录匹配的记录。即使B
中没有匹配的记录,也会返回A
中的记录使用左外联接
SELECT *
FROM
`KC_Orders`
LEFT JOIN `KC_Payments`
ON KC_Orders.orderNumber = KC_Payments.orderNumber
LEFT JOIN `KC_OrderStatus`
ON KC_Orders.orderNumber = KC_OrderStatus.orderNumber
LEFT JOIN `KC_Statuses`
ON KC_OrderStatus.statusID = KC_Statuses.statusID
如果始终存在可用状态,则可以保留KC_status
表的内部联接
。。。表示将返回
A
中的所有记录,并且仅返回B
中与A
中的记录匹配的记录。即使B
中没有匹配的记录,也会返回A
中的记录使用左外联接
SELECT *
FROM
`KC_Orders`
LEFT JOIN `KC_Payments`
ON KC_Orders.orderNumber = KC_Payments.orderNumber
LEFT JOIN `KC_OrderStatus`
ON KC_Orders.orderNumber = KC_OrderStatus.orderNumber
LEFT JOIN `KC_Statuses`
ON KC_OrderStatus.statusID = KC_Statuses.statusID
如果始终存在可用状态,则可以保留KC_status
表的内部联接
。。。表示将返回
A
中的所有记录,并且仅返回B
中与A
中的记录匹配的记录。即使在B
中没有匹配的记录,也会返回A
中的记录。听起来您想要的是外部联接
而不是内部联接
如果需要KC_Orders表中的所有行,则将该表放在from子句的第一位,并对其他表使用左联接。(OUTER关键字不是必需的。)这将返回KC_Orders表中的所有行,即使在其他表中找不到匹配的行。将返回空值以代替“缺少”行中的值
听起来您想要的是
外部联接
而不是内部联接
如果需要KC_Orders表中的所有行,则将该表放在from子句的第一位,并对其他表使用左联接。(OUTER关键字不是必需的。)这将返回KC_Orders表中的所有行,即使在其他表中找不到匹配的行。将返回空值以代替“缺少”行中的值
听起来您想要的是
外部联接
而不是内部联接
如果需要KC_Orders表中的所有行,则将该表放在from子句的第一位,并对其他表使用左联接。(OUTER关键字不是必需的。)这将返回KC_Orders表中的所有行,即使在其他表中找不到匹配的行。将返回空值以代替“缺少”行中的值
听起来您想要的是
外部联接
而不是内部联接
如果需要KC_Orders表中的所有行,则将该表放在from子句的第一位,并对其他表使用左联接。(OUTER关键字不是必需的。)这将返回KC_Orders表中的所有行,即使在其他表中找不到匹配的行。将返回空值以代替“缺少”行中的值
听起来你想要左/右
外部连接
..?听起来你想要左/右外部连接
..?听起来你想要左/右外部连接
..?听起来你想要左/右外部连接
。。。?