2017-11-02 8 views
-1

私はインタビューでこの質問をしました。私はとても大変な努力をしましたが、残念ながら正しいことができませんでした。3つのテーブルを使用してレコードを取得する方法、または3つのテーブルを使用する方法はありますか?

これらのテーブルを使用している従業員の姓、名、部門名を取得します。テーブルとカラムを書き留めています。私はそのダミーデータを書きません。

Employee-(ID、姓、名、DOB、SSN)および他のいくつかの列(有用ではない)。

Query :

SELECT E.last_name, E.first_name, D.dept_name 
FROM Employee AS E 
-- Get employee dept 
INNER JOIN Emp_Dept AS ED 
ON ED.id = E.id 
-- get dept data 
INNER JOIN Dept AS D 
ON D.id = ED.D_id 

私はそれはあなたを助けることを願っています:あなたは、あなたの問題のため、この解決策を試すことができます

+0

サンプルテーブルのデータと予想される結果を書式付きテキスト(画像ではありません)として追加してください。 – jarlh

+1

これはかなり簡単な 'JOIN'クエリです。あなたは、いくつかのSQLを学ぶか、あなたの履歴書からSQLを削除する必要があります。 –

+0

ok @GordonLinoffこれを念頭に置いておきます。とにかく、私はSQLの基礎を知っており、私はもっと学びます。 –

答えて

1

(ID、D_ID) -
学科 - (D_ID、DEPT名)
EMP_DEPT 。

しかし、このクエリは部門のない従業員の値を返しません。これが必要な場合は、INNER JOINの代わりにLEFT JOINを使用する必要があります。

関連する問題