Oracle SQL Bronze web問題集【集合演算子】
Sal
sql oracleマスターbronzeのweb問題。INTERSECTやMINUSなどの集合演算子についての問題と解説を行います。

Oracle SQL Bronze web問題集【集合演算子】

  1. 集合演算子の優先順位
  2. 集合演算子の使い方
  3. 集合演算子の種類
  4. UNION ALL
  5. 共通部分
  6. UNIONのエラー
  7. MINUS
  8. 備考欄
## 集合演算子の優先順位
次の選択肢から正しいものを全て選べ A: 集合演算子には優先順位がある B: 集合演算子には優先順位がない C: 集合演算子は書いた順番で優先順位が生まれる D: 集合演算子は()を使うことで集合演算子の優先順位をつけることができる

答え

B: 集合演算子には優先順位がない

 

C: 集合演算子は書いた順番で優先順位が生まれる

D: 集合演算子は()を使うことで集合演算子の優先順位をつけることができる

## 集合演算子の使い方
次のクエリの実行結果を選べ

select
    ename, empno
from
    employees
where
    job = "mgr"
order by ename
UNION
select
    ename, empno
from
    employees
where
    job IS NULL
A: エラーが起きる B: 通常通り実行される C: エラーにはならないが、一件も返されない

答え

A: エラーが起きる

 

order byは集合演算子と共に使う場合、最後にしか宣言できない

## 集合演算子の種類
一つ目の問い合わせでは戻されるが、二つ目の問い合わせで戻されないデータのみ (つまり差分)を表示する演算子を選べ A: UNION B: UNION ALL C: INTERSECT D: MINUS E: INTERSECT ONLY

答え

D: MINUS

 

INTERSECT ONLYは存在しない

## UNION ALL
次のクエリの実行結果を選べ

select
    ename, deptno
from
    employees
union ALL
select
    deptno, ename
from
    employees
A: select句でエラーが生じる B: 通常通り実行される C: エラーが生じるが、UNION ALLではなくUNIONであれば実行される D: エラーではないが、実行されない

答え

B: 通常通り実行される

 

数だけあえばUNION ALLは問題なく動く。(くっつけているだけ)

## 共通部分
共通のデータを表示する集合演算子を選べ A: UNION B: UNION ALL C: INTERSECT D: MINUS E: INTERSECT ONLY

答え

C: INTERSECT

 

## UNIONのエラー
次のSQLのエラーの原因はどれか

SELECT empno,ename FROM empnolyees
union
select deptno,deptname FROM empnolyees
ORDER BY deptno;
A: 列が異なるため B: unionとselectは同時に使用できないため C: order byが2つめのselectの列名を指定しているため D: 同じテーブルを使用しているため

答え

C: order byが2つめのselectの列名を指定しているため

 

unionを用いたselectのソートは1つ目のselectしか指定できません。

## MINUS
次のクエリで有効なORDER BYを選択してください。

SELECT teacher_id, teacher_name, "Class Name"
from Teachers
WHERE classname like "2-%"
UNION
SELECT teacher_id, mgr_name, classname
FROM Teachers
WHERE classname like "2-%"
    
A: ORDER BY 2,1 B: ORDER BY teacher_id, teacher_name C: ORDER BY teacher_id, "Class Name" D: ORDER BY mgr_name, "Class Name" E: ORDER BY classname, "Class Name"

答え

A: ORDER BY 2,1

 

B: ORDER BY teacher_id, teacher_name

C: ORDER BY teacher_id, "Class Name"

ORDER BYでは文字列をしてすることも可能です。

## 備考欄
title:Oracle SQL Bronze web問題集【集合演算子】 description:oracleマスターbronzeのweb問題。INTERSECTやMINUSなどの集合演算子についての問題と解説を行います。 img:https://s3-ap-northeast-1.amazonaws.com/i.schoo/images/class/600x260/3456.jpg category_script:page_name.startswith("50")