SQL
1SELECT 2 SHOSEKI_JOHO.ISBN_CD, 3 SHOSEKI_JOHO.BOOK_NM, 4 SHOSEKI_JOHO.AUTHOR_NM 5FROM 6 SHOSEKI_JOHO 7WHERE 8 SHOSEKI_JOHO.ISBN_CD = 'ISBN0001' AND NOT EXISTS( 9 SELECT 10 * 11 FROM 12 KASHIDASHI 13 WHERE 14 KASHIDASHI.ISBN_CD = 'ISBN0001' 15); 16 17--貸出 18INSERT INTO `KASHIDASHI`( 19 `KASHIDASHI_NM`, 20 `ISBN_CD`, 21 `KASHIDASHI_DATE`, 22 `ECPECTED_HENKYAKU_DATE`, 23 `HENKYAKU_DATE` 24) 25VALUES( 26 '12345', 27 'ISBN001', 28 '2015-12-16', 29 '2016-01-16', 30 '2016-01-09' 31),( 32 '23456', 33 'ISBN001', 34 '2016-07-18', 35 '2016-08-18', 36 '2016-07-20' 37),( 38 '34567', 39 'ISBN001', 40 '2018-06-11', 41 '2018-07-11', 42 '2018-06-30' 43),( 44 '45678', 45 'ISBN001', 46 '2019-04-08', 47 '2019-05-08', 48 NULL 49); 50 51--書籍情報 52INSERT INTO `SHOSEKI_JOHO`(`ISBN_CD`, `BOOK_NM`, `AUTHOR_NM`) 53VALUES('ISBN0001', 'ブック1', '著者名');
上記のようなSQL文を作成しました。
貸出テーブルにISBN_CDがISBN0001の書籍が登録さされていない場合のみ、書籍情報からその書籍を取得するという挙動です。
この場合ですと既に登録されていますので、falseとなりレコードが取得されないと思ったのですが、
どこで間違えていますでしょうか。
SQLは何を使っていますか(MySQL、PostgreSQL、SQLiteなど)?
回答1件
あなたの回答
tips
プレビュー