Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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
Mysql 基于三个表编写sql连接_Mysql_Sql_Oracle - Fatal编程技术网

Mysql 基于三个表编写sql连接

Mysql 基于三个表编写sql连接,mysql,sql,oracle,Mysql,Sql,Oracle,oracle数据库中有以下三个表,分别命名为A、B和C A表中的字段是AID(主键)、AName、BID(fk) B表中的字段是BID(pk),即BAge C表中的字段为CID(pk)、CSalary、BID(fk) 现在我在三个表上编写连接条件,如下所示 select a.AName from A a,B b,C c where a.BID=b.BID and b.BID=c.BID. 我在这三个表上写连接条件的方法是正确的。请建议我 尝试加入: select a.AName f

oracle数据库中有以下三个表,分别命名为A、B和C

  • A表中的字段是AID(主键)、AName、BID(fk)
  • B表中的字段是BID(pk),即BAge
  • C表中的字段为CID(pk)、CSalary、BID(fk)
现在我在三个表上编写连接条件,如下所示

select a.AName from A a,B b,C c
  where a.BID=b.BID and b.BID=c.BID.

我在这三个表上写连接条件的方法是正确的。请建议我

尝试加入:

select 
a.AName 
from A a
inner join B b on a.BID=b.BID 
inner join C c on b.BID=c.BID 

where c.CSalary=1000;

您的查询对Oracle有效,您所说的“Wong Results”到底是什么意思?意思是在我的连接条件中,我编写了a.BID=b.BID和b.BID=c.BID,这里我根据这两个表达式的BID编写查询,这样我就违反了任何连接条件。这不是结果,这是条件。你说这个查询给了你错误的结果。您提供的查询应该为您提供所有记录的列表,这些记录在薪资字段为1000的所有三个表中都有。这不是你想要的吗?我怀疑这些加入条件是正确的或不是基于出价。对不起,我不理解最后的评论;如果您询问这些条件是否正确,那么根据您的表结构,它们似乎是正确的。也许你可以把你期望的结果和你得到的结果放在一起。表
a
的别名
a
没有真正的意义。@a\u horse\u没有名字:我试图在现有查询中不做太多更改:-)我不确定这是否能解决问题,因为据我所知,它将返回与当前相同的结果。