相关疑难解决方法(0)

4506
推荐指数
24
解决办法
228万
查看次数

JOIN和INNER JOIN之间的区别

这两个连接都会给我相同的结果:

SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK
Run Code Online (Sandbox Code Playgroud)

VS

SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK
Run Code Online (Sandbox Code Playgroud)

表现或其他方面的陈述是否有任何区别?

不同的SQL实现之间是否有所不同?

sql sql-server join inner-join

925
推荐指数
6
解决办法
57万
查看次数

Left,Right,Outer和Inner Joins有什么区别?

我想知道如何区分所有这些不同的连接...

sql database join

545
推荐指数
7
解决办法
37万
查看次数

JOIN和UNION有什么区别?

JOIN和之间有什么区别UNION?我能举个例子吗?

sql database union join

240
推荐指数
8
解决办法
39万
查看次数

连接顺序在SQL中是否重要?

无视性能,我会从下面的查询A和B得到相同的结果吗?C和D怎么样?

-- A
select *
from   a left join b
           on <blahblah>
       left join c
           on <blahblan>


-- B
select *
from   a left join c
           on <blahblah>
       left join b
           on <blahblan>  

-- C
select *
from   a join b
           on <blahblah>
       join c
           on <blahblan>


-- D
select *
from   a join c
           on <blahblah>
       join b
           on <blahblan>  
Run Code Online (Sandbox Code Playgroud)

sql join relational-database

173
推荐指数
3
解决办法
12万
查看次数

NOT EXISTS与NOT IN和LEFT JOIN之间的区别是什么?

在我看来,你可以使用NOT EXISTS,NOT IN或LEFT JOIN WHERE为NULL在SQL查询中做同样的事情.例如:

SELECT a FROM table1 WHERE a NOT IN (SELECT a FROM table2)

SELECT a FROM table1 WHERE NOT EXISTS (SELECT * FROM table2 WHERE table1.a = table2.a)

SELECT a FROM table1 LEFT JOIN table2 ON table1.a = table2.a WHERE table1.a IS NULL
Run Code Online (Sandbox Code Playgroud)

我不确定我的语法是否正确,但这些是我见过的一般技术.为什么我会选择使用一个而不是另一个?性能有所不同......?哪一个是最快/最有效的?(如果它取决于实施,我何时会使用每一个?)

sql

141
推荐指数
2
解决办法
9万
查看次数

sql作为维恩图加入

我在理解sql中的连接时遇到了麻烦,并且遇到了这个我认为可能对我有用的图像.问题是我不完全理解它.例如,图像右上角的连接,它将整个B圆圈的颜色设置为红色,但只有A的重叠.图像使得它看起来像圆圈B是sql语句的主要焦点,但是sql语句本身,从A开始(从A中选择,加入B),向我传达了相反的印象,即A将成为sql语句的焦点.

同样,下面的图像只包含来自B圈的数据,那么为什么在连接语句中包含A呢?

问题:从右上角顺时针工作并在中心完成,有人可以提供有关每个sql图像表示的更多信息,解释

a)为什么在每种情况下都需要连接(例如,特别是在没有数据来自A或B的情况下,即只有A或B而不是两者都被着色的情况)

b)以及任何其他细节可以澄清为什么图像是sql的良好表示

sql连接图

sql mysqli visualization set-theory

42
推荐指数
3
解决办法
6万
查看次数

如何决定何时使用右连接/左连接或内连接或如何确定哪一个表位于哪一侧?

我知道连接的用法,但有时当我无法确定哪个连接适合左边或右边时,我会遇到这种情况.

这是我被困的查询.

    SELECT  count(ImageId) as [IndividualRemaining],
                userMaster.empName AS ID#,
                CONVERT(DATETIME, folderDetails.folderName, 101) AS FolderDate,
                batchDetails.batchName AS Batch#,
                Client=@ClientName,
                TotalInloaded = IsNull(@TotalInloaded,0),
                PendingUnassigned = @PendingUnassigned,
                InloadedAssigned =     IsNull(@TotalAssigned,0),
                TotalProcessed = @TotalProcessed,
                Remaining = @Remaining
        FROM
                batchDetails
                    Left JOIN  folderDetails ON batchDetails.folderId = folderDetails.folderId
                    Left JOIN  imageDetails ON batchDetails.batchId = imageDetails.batchId
                    Left JOIN  userMaster ON imageDetails.assignedToUser = userMaster.userId

        WHERE   folderDetails.ClientId =@ClientID and verifyflag='n'
                and folderDetails.FolderName IN (SELECT convert(VARCHAR,Value) FROM dbo.Split(@Output,','))
                and userMaster.empName <> 'unused'

        GROUP BY userMaster.empName, folderDetails.folderName, …
Run Code Online (Sandbox Code Playgroud)

mysql sql t-sql sql-server oracle

38
推荐指数
3
解决办法
7万
查看次数

什么是半连接数据库?

我在尝试理解半连接的概念以及它与传统连接的不同之处时遇到了麻烦.我已经尝试了一些文章,但对解释不满意,请有人帮我理解一下吗?

sql database join

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

SQL查询,其中=另一个表的值

我想提出一个简单的问题,这可能听起来真的很愚蠢,但我做了很多研究而且什么也听不懂.

想象一下,我有两个表(table1和table2)和两个列(table1.column1和table2.column2).

我想要做的基本上是这样的:

SELECT column1 FROM table1 where table2.column2 = '0'
Run Code Online (Sandbox Code Playgroud)

我不知道这是否可行.

提前致谢,

sql sqlite

10
推荐指数
2
解决办法
4万
查看次数