skillup

技術ブログ

Database

NOT EXISTSの利用2

投稿日:

今回もNOT EXISTSの利用です。

前回の問題にプラスアルファし、列が一緒でないと連続でも意味ない仕様にします。

例えば下記のようなテーブルがあるとします。

seat | row_id | status
——+——–+——–
1 | A | 占
2 | A | 占
3 | A | 空
4 | A | 空
5 | A | 空
6 | B | 占
7 | B | 占
8 | B | 空
9 | B | 空
10 | B | 空
11 | C | 空
12 | C | 空
13 | C | 空
14 | C | 占
15 | C | 空

seatとstatusは一緒なのですが、row_idが一緒でないと意味がないとします。

例えば10~11などは続けて座れません。

これは始点と終点の列名がおなじであることをいれてあげればOKです。

一応模範解答のものをのせておきます。

これはNOT EXISTSの中に条件を入れています。NOT EXISTSの章は論理構造を扱っているので、筆写の方はその手法を理解してほしかったんだろうと思います。論理関係がちょっとむずいですね。

-Database
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

JPQLでの算術関数

複雑なJPQLを書いていると、通常のレコードの取り出しだけではなく、合計(SUM)や算出(COUNT)などのいわゆる算術関数を使うことが一般的です。 JPQLでもこれらを通常通り扱うことができます。 …

no image

dbUnitの使い方

えーJavaで有名なテストツールDBUnitについて。 DbUtilではありませんので間違えないように。(私は最初間違えました・・・) まだ全然使い込んでるわけではありませんがどんなことができるかとい …

no image

MySQLのマイグレーション(workbench使用)

以前cakePHPにてマイグレーションの手法を紹介したのですが、当然PHP以外をつかっていたり、PHPでもcakeを使っていなければこの方法は通用しません。 何か、汎用的にデータベースの構造の差分がチ …

no image

データベースのインデックスについて

今回はデータベースのインデックスに関して。 検索条件を早くする場合、何よりも速度が速くなるのはインデックスを張ることでしょう。 インデックスを張ることは単語を索引順に並べることですので、劇的に速度が向 …

no image

MySQLのレプリケーションについて

MySQLのレプリケーションについて調べたことなどを。 Contents1 レプリケーションの基礎知識1.1 定義1.2 構成1.3 メリット1.3.1 参照性能の向上1.3.2 可用性の向上1.4 …