SQL NOT INで抽出できない
SQLで条件抽出したいと思っています。テーブル1に「名前」というフィールドがあるとします。名前には「青木さやか」、「矢口真里」、「青山裕子」、「山田はな子」・・・などがあります。文字列の中に「青」や「子」が含まれていたら、抽出条件から外すといった処理をしたいと思っています。この例でいうと、「青木さやか」、「山田はな子」は抽出条件から外します。
そこで、
select 名前 from テーブル1 where 名前 NOT IN('青','子')
といったら文を書きましたが、うまく動きません。どういった文にすればよいでしょうか?よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
In演算子では指定したリスト内(→今回の例では「青,子」)と完全一致した
ものしか抽出対象になりませんので、「リスト内の文字を含むもの」を抽出
したいということでしたら、既に回答がある通り、Like演算子を使用する必要
があります。
なお、リストとして列挙する項目がそれぞれ一文字ずつなのでしたら(つまり
「'青木', "裕子"」といった、複数文字の項目からなるリストでないなら)、
以下のSQLでも対応可能です:
Select 名前 From テーブル1 Where 名前 Not Like "*[青子]*"
念のために明記しておきますが、角括弧内の項目は、カンマ等の区切りは
【無用】です。
(No.2の方と同様、AccessでANSI89系(→Accessの初期設定値)の場合。
メニューで「ツール(T)→オプション(O)」で『オプション』ダイアログを開き、
『テーブル/クエリ』タブを選択すると「SQL サーバー互換構文 (ANSI92)」欄
で設定変更が可能:Access2003)
※「ANSI○○」については下記URLを参照下さい。
また、今回の例では使えませんが、角括弧([ ])を使用した曖昧検索では、
ハイフン(-)を使用することで文字範囲を指定すること等も可能ですので、
併せて今後の参考まで:
http://office.microsoft.com/ja-jp/access/HA10076 …
(適用対象がAccess2007となっていますが、それ以前のバージョンでも同様)
No.2
- 回答日時:
仮に、Accessでの話であれば・・・
SELECT テーブル.名前
FROM テーブル
WHERE (((テーブル.名前) Not Like "*青*" And ((テーブル.名前) Not Like "*子*")));
何のSQLについての質問なのかを具体的に記入しましょう。
目的によっては「構文」に違いがある場合も十分考えられますから。
No.1
- 回答日時:
select 名前 from テーブル1 where (名前 NOT like '%青%') AND (名前 NOT like '%子%');
――とか。
MS-Accessだとうまくいかないかも。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ビューで引数を使いたい
-
データの二重表示の原因
-
2つのテーブルから条件に一致...
-
ACCESS2007 フォーム 「バリア...
-
ユニオンクエリで繋げられるテ...
-
Access VBA 読み取り専用かチェ...
-
数学でunprimedとは何を意味し...
-
「マスタ」と「テーブル」の違...
-
(ACCESS)並び替えをしないで...
-
ACCESS 一つのフィールドに複...
-
accessで移動平均する方法
-
Inner join と Left joinの明...
-
ACCESSテーブル2つのデータの...
-
ユニオンクエリの結果をテーブ...
-
SELECT文でのデッドロックに対...
-
アクセス 日付抽出(年月のみ)...
-
SELECT FOR UPDATE にトランザ...
-
行方向のデータを横に並べる
-
トランザクション中にSELECTし...
-
Delphiのデータベースについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 一番最新の日付の金額...
-
ビューで引数を使いたい
-
IFで条件を分岐させてのINSERT...
-
SQL 件数取得を速くしたい
-
複数のテーブルから同じ条件で...
-
Accessで在庫管理を
-
select into句のトランザクショ...
-
INSERT文でサブクエリ
-
SQL文を教えて下さい
-
Access関数について クエリで空...
-
DB2 業種毎に連番をつけたいの...
-
Insert Into Select での重複に...
-
ACCESSの作り方
-
リレーションシップ 全データを...
-
空のテーブルの判別
-
SQLで○○の値以外を持っているレ...
-
SQL文の作成でなやんでいます。
-
二つの表の項目を比較して値を...
-
(初心者です)パフォーマンス...
-
大学でSQLの授業があるのですが...
おすすめ情報