令和2年秋DBについて教えてください

コメさん  
(No.1)
https://www.ap-siken.com/kakomon/02_aki/pm06.html
の問2  SQLについてです。

■前提条件  
チェックIN 2
チェックOUT 4
部屋が  A B C (部屋ID  他は省略)
予約明細  A 1  A 2  A 3  B 1   C 4  C 5  C 6  (部屋IDと宿泊日  他は省略) 

①notExitstですが
これは例えば部屋からAのレコードを取り出して予約明細に渡してあげて条件に一致したら
値を返す動きだと思うのですがこれは条件すべてに一致したら値を返すという動きであってますか?

②問題には関係ないですがSQLの動き的に部屋Bも空室対象になりそうですがそれはそれで良いですか?

長文すいません
2023.01.01 17:28
コメさん  
(No.2)
すいません、訂正と修正です

①→もうちょっと正確に書くと  
A1は条件に当てはまらない
A2は条件に当てはまる
A3は条件に当てはまる
なので結果として
Exists関数の返却値はtrueなのかそれともAND条件でfalseなのかを教えてほしいです。
→trueとして返却されると部屋Aは2日と3日が埋まっている状態でカウント対象になってしまいます。

②→こちらは自分の勘違いでしたので良いです。
※そもそも1日しか予約がないのでtrueとして返却して問題なし
2023.01.01 17:42
元AP受かりたいマンさん 
(No.3)
EXISTSは()内で一行でもレコードが返ってくればTRUEです。
逆に一行もレコードがない場合のみFALSEです。
NOT EXISTSであれば逆に一行もレコードがない場合のみTRUEです。
2023.01.02 20:10
コメさん 
(No.4)
元AP受かりたいマンさん
回答ありがとうございます。解決できました!
2023.01.02 20:47

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop