![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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で質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- その他(Microsoft Office) Outlookメール 連絡先の検索について 〈 ご説明 〉 Windows PC の Outlook 1 2022/09/23 14:43
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS 一番最新の日付の金額...
-
ビューで引数を使いたい
-
条件が混在しているSQLで値取得
-
SQL 件数取得を速くしたい
-
Access関数について クエリで空...
-
複数のテーブルから同じ条件で...
-
二つの表の項目を比較して値を...
-
ACCESSの作り方
-
Access2000 選択クエリで最新...
-
SQLで○○の値以外を持っているレ...
-
「マスタ」と「テーブル」の違...
-
[ BETWEEN ] vs [ >= AND <= ]
-
ACCESSのSQLで、NULLかNULLでな...
-
【SQLServer】IS NULLのパフォ...
-
クエリのキャンセルがいつにな...
-
2つのテーブルから条件に一致...
-
エクスポート時の改行コードに...
-
データの二重表示の原因
-
ACCESS2007 フォーム 「バリア...
-
PostgreSQLで外部DB内のテーブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 一番最新の日付の金額...
-
ビューで引数を使いたい
-
IFで条件を分岐させてのINSERT...
-
Accessで在庫管理を
-
SQL 件数取得を速くしたい
-
2つのテーブルを結合して合計(...
-
二つの表の項目を比較して値を...
-
空のテーブルの判別
-
複数のテーブルから同じ条件で...
-
SQLの書き方
-
DB2 業種毎に連番をつけたいの...
-
select into句のトランザクショ...
-
大学でSQLの授業があるのですが...
-
Access関数について クエリで空...
-
リレーションシップ 全データを...
-
Insert Into Select での重複に...
-
Sql文のUpdateと副問い合わせで...
-
別のテーブルの値を抽出条件と...
-
SQL 重複 条件を付けて抽出したい
-
SQLで○○の値以外を持っているレ...
おすすめ情報