Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何使用左联接和/或右联接和/或内联接_Sql_Oracle_Join - Fatal编程技术网

Sql 如何使用左联接和/或右联接和/或内联接

Sql 如何使用左联接和/或右联接和/或内联接,sql,oracle,join,Sql,Oracle,Join,我在这个查询中使用了JOIN,我不知道如何使用,但我使用了直接引用,结果是正确的。。。请帮帮我 谢谢 问题: 车牌(placa)=LVU9132的礼节名称是什么 SELECT P.NOME FROM MODELO M ,VEICULO V ,PROPRIETARIO P WHERE P.COD_PROP = V.PROPRIETARIO AND V.MODELO = M.COD_MOD AND V.PLACA = 'LVU9132'; 您不需要外部连接来回答问

我在这个查询中使用了JOIN,我不知道如何使用,但我使用了直接引用,结果是正确的。。。请帮帮我

谢谢

问题: 车牌(placa)=LVU9132的礼节名称是什么

 SELECT P.NOME
FROM MODELO M
    ,VEICULO V
    ,PROPRIETARIO P
WHERE P.COD_PROP = V.PROPRIETARIO
    AND V.MODELO = M.COD_MOD
    AND V.PLACA = 'LVU9132';

您不需要外部连接来回答问题(如所提出的)


您的查询采用新语法:

SELECT P.NOME
FROM MODELO M 
inner join VEICULO V on V.MODELO = M.COD_MOD
inner join PROPRIETARIO P on P.COD_PROP = V.PROPRIETARIO
WHERE V.PLACA = 'LVU9132';
内部联接要求同时存在两个匹配行。如果未找到匹配的
PROPRIETARIO
行,则
VEICULO
行也不会显示

如果您想查看车辆行,即使它没有匹配的所有者,也可以使用以下命令。 如果找不到匹配的行,左侧联接将为右侧表
PROPRIETARIO
返回null。注意,left join要求左侧表存在,但不关心右侧表上是否没有匹配的行

SELECT P.NOME
FROM MODELO M,VEICULO V,PROPRIETARIO P
WHERE V.PROPRIETARIO *= P.COD_PROP      -- left outer join
    AND V.MODELO = M.COD_MOD
    AND V.PLACA = 'LVU9132';
新语法(ANSI92标准)


SQL Server 2012不再支持旧式语法,因为它可能返回不正确的结果。

谢谢@Gordon Linoff!!!这是摆姿势,但我的老师只想这样(左加入等…)!我很生气!!!谢谢约翰·D,我从来都不习惯加入,我只知道这样做。但是你的解释太完美了!!谢谢<“代码>内部联接”与“代码>联接”相同——我认为很明显不能有多余的单词。@不客气。仅供参考:这两种情况的作用方式相同:
V.PROPRIETARIO*=P.COD\u PROP
P.COD\u PROP=*V.PROPRIETARIO
SELECT P.NOME
FROM MODELO M,VEICULO V,PROPRIETARIO P
WHERE V.PROPRIETARIO *= P.COD_PROP      -- left outer join
    AND V.MODELO = M.COD_MOD
    AND V.PLACA = 'LVU9132';
SELECT P.NOME
FROM MODELO M 
inner join VEICULO V on V.MODELO = M.COD_MOD
left join PROPRIETARIO P on P.COD_PROP = V.PROPRIETARIO
WHERE V.PLACA = 'LVU9132';