相关疑难解决方法(0)

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

何时使用左外连接?

我不理解左外连接,右外连接的概念,或者我们为什么需要使用连接!我正在努力解决的问题和我正在处理的表格在这里:链接

问题3(b)

在SQL中构造一个命令来解决以下查询,解释为什么必须使用(外部)连接方法.[5 Marks]"查找每位工作人员及其受抚养配偶的姓名,如果有的话"

问题3(c) -

使用(i)join方法和(ii)子查询方法在SQL中构造一个命令来解决以下查询.[10 Marks]"查找在计算机化项目上工作超过20小时的每位员工的身份名称"

有人可以简单地向我解释一下吗?

mysql sql database-design join

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

内连接和外连接有什么区别

内外连接的区别.我正在使用两个表,并希望从两个表中获取数据,所以我们应该使用哪种类型的连接,我们可以解决我们的问题

sql join

29
推荐指数
3
解决办法
13万
查看次数

左外连接是否相关联?

很容易理解为什么左外连接不是可交换的,但是我在理解它们是否是关联时遇到了一些麻烦.一些在线消息来源表示他们不是,但我没有设法说服自己这是事实.

假设我们有三个表:A,B和C.

设A包含两列,ID和B_ID,其中ID是表A的主键,B_ID是对应于表B的主键的外键.

设B包含两列,ID和C_ID,其中ID是表B的主键,C_ID是对应于表C的主键的外键.

设C包含两列,ID和VALUE,其中ID是表C的主键,VALUE只包含一些任意值.

那不(A left outer join B) left outer join C应该等于A left outer join (B left outer join C)

sql join outer-join

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

如何在不使用JOIN的情况下实现SQL连接?

如何在不使用JOIN关键字的情况下实现SQL连接?

这不是必要的,但我认为通过这样做我可以更好地理解联接实际上做了什么.

sql join

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

SQL连接和左外连接:为什么结果不同?

我有一张桌子partenaire.partenaire可能有一个或多个地址.当然,一个地址可能"属于"不止一个partenaire.所以,我有3个表:partenaire,partenaire_adresseadresse.地址只有一个镇(ville法语)所以我id_ville在表中有一个外键addresse.

SELECT
    p.nom,
    v.nom, v.id_region as id_r, v.id_departement as id_p,
    r.description as region
FROM partenaire p
JOIN partenaire_adresse pa
    ON pa.id_partenaire=p.id
JOIN adresse a
    ON a.id=pa.id_adresse
JOIN ville v
    ON v.id=a.id_ville
JOIN region r
    ON v.id_region=r.id
LIMIT 4;
Run Code Online (Sandbox Code Playgroud)

这给了我那些结果:

+----------------------------+-------------+------+------+--------+
| nom                        | nom         | id_r | id_p | region |
+----------------------------+-------------+------+------+--------+
| Ferme Auberge Christlesgut | Breitenbach |    1 |    2 | Alsace | 
| …
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

为什么内连接和外连接都被称为?

我理解内部和外部连接的工作.但在这种情况下,内在/外在的含义是什么?内联的内心是什么?外连接的外部是什么?

最好的问候,维沙尔

sql join

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

为什么MySQL的LEFT JOIN在使用WHERE子句时返回"NULL"记录?

今天我尝试了一些更复杂的MySQL查询,我注意到MySQL的LEFT JOIN不能与WHERE子句一起使用.我的意思是,它确实会返回一些记录,但它不会返回右侧为空的记录.

例如,假设我们需要表格:

albums                                   ; albums_rap
  id artist        title         tracks  ;    id artist    title           rank
---- -------- ---------- --------------- ;  ---- --------- ----- --------------
   1 John Doe     Mix CD              20 ;     3 Mark      CD #7            15
   2 Mark          CD #7              35 ;

当我运行此查询时:

SELECT 
    t1.artist as artist,
    t1.title as title,
    t1.tracks as tracks,
    t2.rank as rank,
FROM
    albums as t1
LEFT JOIN
    albums_rap as t2
ON 
    t1.artist LIKE t2.artist
AND
    t1.title LIKE t2.title
WHERE
    t2.rank != 17
Run Code Online (Sandbox Code Playgroud)

我明白了:

artist title …

php mysql sql left-join where

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

如何使用 SQL 执行 Optional JOIN

我想从 返回所有行biometrics,如果 JOIN 存在,则获取额外的数据。但是,我当前的查询仅在用户 ID 匹配时返回行。

我该如何解决这个问题,以便它返回所有生物特征行,以及来自 JOIN 的额外数据(如果存在)?

SELECT b.id as id, g.date
FROM `biometrics` as b
INNER JOIN `users goals` as g ON biometricid = b.id and userid = $user->id
Run Code Online (Sandbox Code Playgroud)

mysql sql t-sql join

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

写一个自联接查询?

我有下表的值

CREATE TABLE #tmpEmployee(ID int, EmpName varchar(50), EmpBossID int)

insert into #tmpEmployee values ( 1, 'Abhijit', 2);
insert into #tmpEmployee values ( 2, 'Haris', 3);
insert into #tmpEmployee values ( 3, 'Sanal', 0);
Run Code Online (Sandbox Code Playgroud)

现在我希望结果如下

ID  EmpName BossName
1   Abhijit Haris
2   Haris   Sanal
Run Code Online (Sandbox Code Playgroud)

所以我写了以下查询.

select E1.ID,E1.EmpName, E.EmpName as BossName from #tmpEmployee E inner join #tmpEmployee E1 on E1.EmpBossID=E.ID.
Run Code Online (Sandbox Code Playgroud)

但问题是第三名员工(Sanal)没有老板.所以我想要这个确切的结果:

ID  EmpName BossName
1   Abhijit Haris
2   Haris   Sanal
3   Sanal   Null
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

sql join

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