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

サブクエリ 応用編

本日も引き続きサブクエリです。 前回とちょっと近いですが、下記のような歯抜けのテーブル(sales2)があるとします。 year | sale ——+—&#8212 …

no image

mysqlデータのCSV出力

ガチンコ塾のブログでもかいたのですが、行動力が大切だなーと思う今日この頃。 社長が熟練のJavaエンジニアで基本的に聞けば、基本的に解決することが多いのですが、外部の勉強会などにも出て情報収集の必要性 …

no image

slow-query-logについて

データベースを伴う部分でののチューニングですが、大きく分けると SQLを書き直す インデックスを張りなおす プログラム内部でキャッシュを有効化する 設定ファイルの修正 上記のようなかんじになるのではな …

no image

HAVING句がらみの計算式

「達人に学ぶSQL徹底指南書」読んでますが、かなり難しいものがでてきましたね。 テーブルは前回のものと同じ以下のものを使います。 name | income ————+——– サンプソン | 4000 …

no image

MySQL.sockファイルに関して

朝出社してテストサーバーを見るといきなりサーバーが動いていないという事態が発生。 MySQLを起動しようとすると

なるメッセージがでて …

アーカイブ