Sql 使用3个不同表的SELECT子句
有这三张桌子吗 系Sql 使用3个不同表的SELECT子句,sql,oracle,Sql,Oracle,有这三张桌子吗 系 //DEPARTMENT DNAME ----------- RESEARCH IT SCIENCE 计划 //PROJECT P# TITLE ---------------- 1 COMPUTING 2 CODING 3 SEARCHING DP您的部门数据已存在于DP表中。所以使用它 select DNAME, TITLE from DP d, PROJECT p where d.p# = p.p# o
//DEPARTMENT
DNAME
-----------
RESEARCH
IT
SCIENCE
计划
//PROJECT
P# TITLE
----------------
1 COMPUTING
2 CODING
3 SEARCHING
DP您的
部门
数据已存在于DP
表中。所以使用它
select DNAME, TITLE
from DP d, PROJECT p
where d.p# = p.p#
order by 1
您也可以尝试:
MYSQL语法:
SELECT d.DNAME,P.TITLE from DEPARTMENT d
INNER JOIN PROJECT P
INNER JOIN DP ON d.DNAME=DP.DNAME AND P.P#=DP.P#
order by d.DNAME DESC, P.TITLE ASC
SQL语法
SELECT d.dname,p.title from DEPARTMENT d,PROJECT P
,DP where d.DNAME=DP.DNAME and
P.P#=DP.P#
order by d.dname desc, P.title asc
我不知道为什么一个包含三个表的内部连接和最后一个内部连接中的on条件不能与MYSQL
一起工作。很高兴你找到了解决办法 试试这个查询
SELECT d.DNAME,P.TITLE from DEPARTMENT d
INNER JOIN DP ON d.DNAME=DP.DNAME
INNER JOIN PROJECT P ON P.P#=DP.P#
order by d.DNAME DESC, P.TITLE ASC
虽然没有否决票,但他们提供了表名,而您忽略了表名t1、t2、t3。。。我建议调整它。当我尝试你的代码时,你的代码在订单bgy缺少关键字时出错there@user3553846查询中使用的语法是MySQL。为了使其在Oracle上工作,您需要在每个内部联接之后指定on子句。看看我的答案每个人都应该为他们选择的答案投上一票,对吗?;)
SELECT d.DNAME,P.TITLE from DEPARTMENT d
INNER JOIN PROJECT P
INNER JOIN DP ON d.DNAME=DP.DNAME AND P.P#=DP.P#
order by d.DNAME DESC, P.TITLE ASC
SELECT d.dname,p.title from DEPARTMENT d,PROJECT P
,DP where d.DNAME=DP.DNAME and
P.P#=DP.P#
order by d.dname desc, P.title asc
SELECT d.DNAME,P.TITLE from DEPARTMENT d
INNER JOIN DP ON d.DNAME=DP.DNAME
INNER JOIN PROJECT P ON P.P#=DP.P#
order by d.DNAME DESC, P.TITLE ASC