「DB2 存在しない値を取得する」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==DB2 存在しない値を取得する== [DB2][Database]{{category SQL}} {{amazon|4873113156}} ===EXCEPT=== *EXCEPTを利用すると、容易になる *重複業…」) |
|||
1行目: | 1行目: | ||
==DB2 存在しない値を取得する== | ==DB2 存在しない値を取得する== | ||
− | [DB2][Database]{{category SQL}} | + | [[DB2][Database]]{{category SQL}} |
{{amazon|4873113156}} | {{amazon|4873113156}} | ||
13行目: | 13行目: | ||
===NOT IN=== | ===NOT IN=== | ||
*NOT IN利用時には、NULLに注意 | *NOT IN利用時には、NULLに注意 | ||
− | *NULLを含む場合に、NOT IN を行うと、行を返さない(SQLでは、TRUE or NULL - | + | *NULLを含む場合に、NOT IN を行うと、行を返さない(SQLでは、TRUE or NULL -> TRUE だが、FALSE or NULL -> NULL) |
select distinct deptno from department | select distinct deptno from department | ||
where deptno not in (select workdept from employee) | where deptno not in (select workdept from employee) |
2020年2月15日 (土) 08:01時点における版
DB2 存在しない値を取得する
[[DB2][Database]]テンプレート:Category SQL
EXCEPT
- EXCEPTを利用すると、容易になる
- 重複業は返さず、NOT INを使う場合に対象にNULLが含まれると結果が返らないという問題は起こらない。
select deptno from department except select workdept from employee
NOT IN
- NOT IN利用時には、NULLに注意
- NULLを含む場合に、NOT IN を行うと、行を返さない(SQLでは、TRUE or NULL -> TRUE だが、FALSE or NULL -> NULL)
select distinct deptno from department where deptno not in (select workdept from employee)
© 2006 矢木浩人