相关疑难解决方法(0)

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万
查看次数

SQL Server 2008中的CROSS JOIN与INNER JOIN

CROSS JOIN和之间有什么区别INNER JOIN

交叉加入:

SELECT 
    Movies.CustomerID, Movies.Movie, Customers.Age, 
    Customers.Gender, Customers.[Education Level], 
    Customers.[Internet Connection], Customers.[Marital Status], 
FROM   
    Customers 
CROSS JOIN 
    Movies
Run Code Online (Sandbox Code Playgroud)

内部联接:

SELECT 
    Movies.CustomerID, Movies.Movie, Customers.Age, 
    Customers.Gender, Customers.[Education Level], 
    Customers.[Internet Connection], Customers.[Marital Status]
FROM   
    Customers 
INNER JOIN 
    Movies ON Customers.CustomerID = Movies.CustomerID
Run Code Online (Sandbox Code Playgroud)

哪一个更好,为什么我会使用其中一个?

sql t-sql sql-server cross-join sql-server-2008

133
推荐指数
7
解决办法
35万
查看次数

Spark中的各种连接类型有哪些?

我查看了文档,并说它支持以下连接类型:

要执行的联接类型.默认内心.必须是以下之一:inner,cross,outer,full,full_outer,left,left_outer,right,right_outer,left_semi,left_anti.

我查看了关于SQL连接的StackOverflow答案,并且顶部几个答案没有提到上面的一些连接,例如left_semileft_anti.他们在Spark中意味着什么?

scala apache-spark apache-spark-sql spark-dataframe apache-spark-2.0

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

Knex.js:如何从多个表中选择列?

示例查询,

SELECT a.driverID, a.dCarID, a.dDeviceID, b.carRegiNum FROM driverProfile a, carProfile b WHERE a.dManagerID = 7 AND b.carID=a.dCarID
Run Code Online (Sandbox Code Playgroud)

查询在 MySQL 上运行良好。driverProfile 和 carProfile 是两个单独的表。如果您需要更多说明,请发表评论。我被困在这里了。

感谢帮助。谢谢。

mysql query-builder knex.js

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

仅当一个表中的列值与使用MySQL的另一个表相同时,如何从两个表返回数据?

我是MySQL的新手,只有当两个表中的手机号码相同时,我才想从两个表中返回数据.我不想要任何null价值观.我怎样才能做到这一点?

例:

Table A 
UserID  CandidateName  CurrentMobile  CurrentDistrict  Email      Centre 
1       Max            98234          Chennai          aaa@a.com  A
2       Raju           97364          Salem            bbb@b.com  B
3       Ramesh         99873          Trichy           ccc@c.com  C 
Run Code Online (Sandbox Code Playgroud)
Table B
Name     MobileNumber  District
Maximus  98234         Salem 
Ramesh   99873         Trichy
Venkat   98376         Chennai 
Run Code Online (Sandbox Code Playgroud)

我想要以下结果:

UserID  CandidateName  Name     CurrentDistrict  District  Email      Centre  MobileNumber 
1       Max            Maximus  Chennai          Salem     aaa@a.com  A       98234
3       Ramesh         Ramesh   Trichy           Trichy    ccc@c.com  C       99873 
Run Code Online (Sandbox Code Playgroud)

我尝试使用UNION,但它null在某些列中提供值,并返回两个表中的所有数据.

mysql sql

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

SQL Server查询不在另一个表中的地方

我有三张桌子:

工作

    JobId
    StartDate
    RehireDate
Run Code Online (Sandbox Code Playgroud)

证件

    PaperworkId
    DocumentName
Run Code Online (Sandbox Code Playgroud)

JobPaperwork

    JobId
    PaperworkId
    Completed
Run Code Online (Sandbox Code Playgroud)

我需要找到没有为其分配具有特定文档名称的文档的任何作业.我不确定如何构造此查询.使用NOT IN不起作用,因为它返回每个作业,因为它正在找到分配给他们的其他文书工作的作业.

这是我开始的:

select j.jobid 
from Job j 
inner join JobPaperwork jp on j.JobId = jp.JobID 
where j.startdate > dateadd(day, -30, getdate()) 
  and j.rehiredate is not null 
  and jp.PaperworkID not in (select paperworkid 
                             from Paperwork 
                             where documentname like '%searchterm%') 
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

SQL逻辑:在A.FID = B.ID上将子表B加入父表A时

我一直想知道结果是否会在多连接表查询中发生变化.

如果您有父表A

 A          B
 ID|FID     FID
  1|2       1
  2|4       2
  3|5       3
  4|7       4
  5|8       5
  6|NULL    6
  7|NULL    7
  8|NULL    8
Run Code Online (Sandbox Code Playgroud)

你在WHERE子句中指定了哪个表列是否重要?例如,两者之间有什么区别:

Select *
From Table A
Left Join B on A.FID = B.FID
WHERE A.FID IN (2,5,8)

Select *
From Table A
Left Join B on A.FID = B.FID
WHERE B.ID IN (2,5,8)
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

编辑:迈克尔已经解决了我的问题,我已经测试了它

"实际上,虽然你的答案很好(可能是他正在寻找的那个),但由于他的两个查询基本上都是对B的主键(A.FID,B.ID)进行过滤,因此它们在逻辑上是相同的(假设A.FID是B)的真正外键约束.也就是说,两个查询都会过滤掉B.ID不是2,5或8的行. - 迈克尔L.

唯一不同的是表B是主表,并且您基于B.ID查询,如:

SELECT *
FROM B
LEFT JOIN A ON A.FID = B.FID
WHERE B.FID IN (2,5,8)
Run Code Online (Sandbox Code Playgroud)

虽然这与将A作为主表相同:

SELECT *
FROM …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

-1
推荐指数
1
解决办法
144
查看次数

sql内部加入多对多关系

我有一个表用户(用户 ID、用户名、密码等)、一个表课程(课程 ID、课程名称等)和一个表 student_favouriteCourses(用户 ID、课程 ID)//两者都作为主键

如果我知道用户的 ID,我想搜索他最喜欢的所有课程。你能帮我查询加入吗?

sql join

-2
推荐指数
1
解决办法
6659
查看次数