-1

と の 2 つのテーブルがEMPありSalaryEMPテーブルには次のフィールドがあります。

id, emp_name,designation

テーブルにSalaryは次のフィールドがあります。

id, emp_id, salary 

給与が 15000 を超える従業員の名前を取得するにはどうすればよいですか?

4

3 に答える 3

1

使用JOINおよびWHERE条項

SELECT emp_name 
  FROM EMP 
  JOIN Salary
    ON EMP.id = Salary.emp_id
 WHERE salary > 15000
于 2013-10-17T12:05:52.950 に答える
0

これは宿題ですか?完全なステートメントではなく、必要なヒントを提供します。

給与自体がテーブルである理由は、従業員が複数の給与を持つことができるためです。(それ以外の場合、給与は単に emp テーブルのフィールドになります)。

したがって、最初に emp と Salary を結合して、すべての従業員のすべての給与を取得します。次に、従業員ごとにグループ化して、各従業員の給与の合計を取得します。そして最後に、結果を 15000 を超える給与にフィルターします。グループの結果をフィルターする方法を既に知っていますか?

正しいステートメントを書く方法は複数あります。与えられたヒントを使用して、あなたはそれを見つけると確信しています。幸運を!

于 2013-10-17T12:26:48.603 に答える
0

次のように、内部クエリを使用できます。

SELECT emp_name
FROM   emp
WHERE  id IN (SELECT emp_id FROM salary WHERE salary > 15000)
于 2013-10-17T12:06:56.687 に答える