SQL连接表

SQL连接表,sql,Sql,我有一段代码: SELECT * FROM products JOIN productsInventory WHERE sku = '$psku' AND sell_price = '$sell_price' 其中,产品&产品库存和sku&售价分别为两个表的列名。这是编写sql的正确方法吗?通常是这样的: SELECT * FROM products AS l JOIN productsInventory AS r ON l.sku = r.sku AND l.sell_price = r

我有一段代码:

SELECT *
FROM products
JOIN productsInventory
WHERE sku = '$psku' AND sell_price = '$sell_price'

其中,
产品
&
产品库存
sku
&
售价
分别为两个表的列名。这是编写sql的正确方法吗?

通常是这样的:

SELECT * FROM products AS l 
JOIN productsInventory AS r 
ON l.sku = r.sku
AND l.sell_price = r.sell_price;

d使用的sql方言可能会有所不同。

首先,您需要了解join在sql中的工作原理。关于这一点,你可以参考 .
您应该在on子句中指定要连接两个表的列

products
表和
productsInventory
表中的代码公共列中,应在连接的on子句中指定。

您忘记了使用
on
子句指定要连接表的列。为了连接表,通常需要两个表都有一些相同的列

SELECT * FROM products 
JOIN productsInventory on products.<CommonColumn> = productsInventory.<CommonColumn>
WHERE sku = '$psku' AND sell_price = '$sell_price'
从产品中选择*
在产品上加入产品库存产品库存。
其中sku=“$psku”和售价=“$sell\U price”

如果要在两个表之间使用
JOIN
,则需要在
ON
条件中指定公共列,如
ON products.id=productsInventory.product\u id
@Viki888它取决于数据库,而不是每个数据库中必须使用的。您使用的是哪个数据库?您使用的是哪个数据库管理系统?(该代码不符合ANSI SQL。)这里,sku是“products”表中的一列,而sell_price是“productsInventory”表中的一列。对于连接,您至少需要一列,这两个表可以通过该列连接。例如,在您的情况下,这可能是一个产品id,作为库存表中的外键。