帮我解释一下这个问题是什么意思。
"查找员工姓名和部门名称的所有组合。"
我的桌子
//EMPLOYEE
E# ENAME DNAME
-----------------------------
1 JOHN IT
2 MAY SCIENCE
3 SITI SCIENCE
//DEPARTMENT
DNAME
------------
RESEARCH
IT
SCIENCE
仅仅是为了我的理解。我想问我的问题是什么? 我使用了以下查询
SELECT ENAME,DNAME FROM EMPLOYEE;
答案 0 :(得分:1)
有点不清楚,但要找到所有组合,你会创建一个Cartesian product.
select
e.ename, d.dname
from
employee e,
dname d
Oracle支持上面的sql并使用CROSS JOIN
来表示同样的事情。
select
e.ename, d.dname
from
employee e cross join dname d
这会将employee
表中的每一行连接到dname
表中的每一行。
这将创建:
ENAME DNAME
---------------------
JOHN IT
JOHN SCIENCE
JOHN RESEARCH
MAY SCIENCE
MAY RESEARCH
MAY IT
SITI SCIENCE
SITI IT
SITI RESEARCH
答案 1 :(得分:0)
我的理解是他们希望你创建一个笛卡尔:
select
EMPLOYEE.ENAME
,DEPARTMENT.DNAME
FROM EMPLOYEE, DEPARTMENT
答案 2 :(得分:0)
这应该有效
select employee.ENAME,department.DNAME from employee,department