SELECT ENAME, EMP.JOB,DEPT.DNAME
FROM EMP, DEPT
WHERE EMP.JOB=DEPT.DNAME;
This is giving the output as "no rows selected".
それが正しいと仮定するとEMP.JOB=DEPT.DNAME
(私には想像できないことです)、クエリは実際には正しく、次のように結合できます。
SELECT ENAME, EMP.JOB,DEPT.DNAME
FROM EMP inner join DEPT
ON EMP.JOB=DEPT.DNAME;
しかし、これはあなたのクエリ以外の結果を与えることはありません.問題は、あなたの紛らわしい列であると思います.通常、参照は id 列を介して行われます.
たとえば、開発者またはプログラマーでEMP.JOB
ある可能性があるものと、この場合はたとえば開発部門である可能性があるという考えは、どういうわけか奇妙です。テーブルが互いにどのように接続されているかをもう一度見てください。DEPT.DNAME
データベースから視覚的なダイアグラムを生成すると役立つ場合があります。詳細については、このスレッドを参照してください:既存の Oracle データベースからデータベース ダイアグラム/ER ダイアグラムを生成するためのツール?
あなたが何を望んでいるのかわかりません-ジョブは部門名と同じになることはありません...実行して結果を確認するための正しい結合-コピー/貼り付けは次のとおりです。
SELECT d.deptno, ENAME, JOB, DNAME
FROM scott.EMP e, scott.DEPT d
WHERE e.deptno = d.deptno
ORDER BY d.deptno
/
参考までに: EMP.JOB=DEPT.DNAME は、元の質問/クエリのように正しくありません。