相关疑难解决方法(0)

SQL内部连接语法

下面的两个SQL得到相同的结果

SELECT c.name, o.product  
FROM customer c, order o  
WHERE c.id = o.cust_id  
AND o.value = 150  

SELECT c.name, o.product  
FROM customer c  
INNER JOIN order o on c.id = o.cust_id  
WHERE o.value = 150
Run Code Online (Sandbox Code Playgroud)

我已经看到这两种风格在不同的公司都被用作标准.从我所看到的,第二个是大多数人在网上推荐的.除了风格之外,还有其他真正的理由吗?使用内部联接有时会有更好的表现吗?

我注意到Ingres和Oracle开发人员倾向于使用第一种风格,而Microsoft SQL Server用户倾向于使用第二种风格,但这可能只是巧合.

感谢您的任何见解,我一直想知道这一点.

编辑:当我使用不正确的terminlogy时,我已经从"SQL内部连接与笛卡尔产品"中更改了标题.感谢到目前为止的所有回复.

sql

26
推荐指数
2
解决办法
3万
查看次数

带内连接和不带内连接的 SQL 查询

可能的重复:
在 from 子句或 where 子句中进行等值连接是否更好

我是 SQL 菜鸟,我有 2 个查询:

SELECT 
    A.COLUMN1,B.COLUMN2, C.COLUMN3
FROM
     TB_ITEM A,
     TB_ITEM_CAT B,
     TB_ITEM_SUBCAT C
WHERE
     A.COLUMN1 = B.COLUMN1
     AND A.COLUMN1 = c.COLUMN1
Run Code Online (Sandbox Code Playgroud)

和

SELECT 
    A.COLUMN1,B.COLUMN2, C.COLUMN3
FROM
     TB_ITEM A 
INNER JOIN TB_ITEM_CAT B on A.COLUMN1 = B.COLUMN1
INNER JOIN TB_ITEM_SUBCAT C on A.COLUMN1 = C.COLUMN1
Run Code Online (Sandbox Code Playgroud)

在第一个查询中,我们没有 INNER JOINS,并从 3 个表中进行选择。在第二个中,我们使用 INNER JOINS 进行相同的查询,并从 3 个表中进行选择。

他们应该显示相同的结果?这些查询之间有什么区别?

sql sql-server

6
推荐指数
1
解决办法
4570
查看次数

标签 统计

sql ×2

sql-server ×1