因此,我们在SQL中遇到的各种类型的连接是:
1.JOIN
2.NATURAL JOIN
3.INNER JOIN
4.OUTER JOIN(左,右,全)
5.CROSS JOIN
我需要清楚地了解JOIN,NATURAL JOIN和CROSS JOIN之间的区别
在w3schools.com上,我使用了JOIN和NATURAL JOIN查询,得到了以下结果
1.Query for JOIN。
SELECT *
FROM Orders
JOIN Customers;
Output of the JOIN query(Postal Code and Country Column can't be seen but they're there)
2.查询NATURAL JOIN。
SELECT *
FROM Orders
NATURAL JOIN Customers;
我是初学者,我对JOIN和NATURAL JOIN关键字的概念并不清楚,因为互联网上的资料不够,或者如果不清楚我在这两个关键字之间的混淆。
我无法理解为什么2个关键字提取的记录数量如此不同。请深入解释这里发生的事情。提前谢谢。
答案 0 :(得分:0)
JOIN
SRC_URI += '$(DEPLOY_DIR}/qt5-image-raspberrypi2.tar.xz'
结果
SELECT *
FROM orders o
JOIN customers c
ON o.customerid = c.customerid
在NATURAL JOIN中避免重复列
天然加入
orderid, orderdate, customerid, customerid, customername
10248, 1996-04-07, 1, 1, Alfreds Futterkitse
10248, 1996-04-07, 2, 2, Ana Trujillo
10248, 1996-04-07, 3, 3, Antonio Moreno
10248, 1996-04-07, 4, 4, Around the Horn
10248, 1996-04-07, 5, 5, Berglunds snabbkop
结果
SELECT *
FROM orders o
NATURAL JOIN customers c
由于您选择了*,订单中的customerid和客户都将显示在JOIN中,但在NATURAL JOIN中,它只会显示一个customerid列。