2017-09-08 17 views
-9

empとdeptの2つのテーブルがあります。そして、両方のテーブルには主キーとしてdeptnoがあります。私はdeptnoについて10と20の間の詳細をenameで表示したい。例えばWHERE句の主キーを使用してテーブルを結合する方法は?

:LOCは、DEPT表である:sal列に:このクエリで

select ename,sal,loc,deptno from emp,dept 
where sal between 1000 and 2000 and emp.deptno=dept.deptno; 

私はDEPTNOでSALを交換したいが、エラーを与えます。

+0

あなたの質問にあなたが取得しているエラーを編集してください。 – halfer

+0

参考のために、この質問は大きく却下されました。なぜなら、(a)尋ねる前に十分な労力を費やさなかったからです。 (b)投稿にはtxtspkが含まれています - 読者はしばしば "are"のような言葉は書くのが面倒ではないと思うでしょう。 (c)投稿の最初のバージョンが読者に仕事を依頼するように見えた、(d)問題はまだ明らかではない(エラーを言及しているが、エラーは何も言及していない)、(e) 、ちょうど卑猥なレベルの懇願。 – halfer

+0

次の質問では、最初に頑強に努力したことが明確であることを確認してから、上記のすべての点を修正してください。 – halfer

答えて

1

  • 表1は
  • DEPT表2であると仮定するEMP
  • deptテーブルであるdeptnoemp
  • 主キーといくつかの他の列として表は deptnoが外部で列 enamedeptnoを有し有します deptnoの欄 deptの表

これは、10と20の間deptnoを持つレコードのdeptnoenameを選択するためのSQLクエリです:

SELECT 
    dept.deptno, emp.ename 
FROM 
    dept 
JOIN 
    emp ON dept.deptno = emp.deptno 
WHERE 
    dept.deptno BETWEEN 10 and 20; 
+0

私は両方のテーブルに参加する必要があります –

+0

再び列を示してあいまいに定義されています。おかげで仲間から何度も何度も私は –

+0

が d.deptnoを選択plzは再び私を助けて.now支援し、e.ename FROM DEPT dの は10 BETWEEN d.deptno = e.deptno WHERE d.deptno ON EMP eを登録しようおよび20。 –

関連する問題