1. はじめにデータベース テーブル データの特定のサブセットを取得する必要がある場合は、where 句を使用してフィルタリングの検索条件を指定できます。 where 句には幅広い使用シナリオがあり、習得する必要がある MySQL ステートメントの重要なポイントです。 where によって実装されるすべての関数は MySQL の外部で実装できますが、MySQL で直接クエリをフィルタリングすると、より高速になり、ネットワーク転送のオーバーヘッドが節約されます。 2. 本文まず、User テーブルを準備します。DDL とテーブルデータは以下のとおりで、そのままコピーして使用できます。 名前を設定します utf8mb4; FOREIGN_KEY_CHECKS = 0 を設定します。 -- ---------------------------- -- ユーザー用テーブル構造 -- ---------------------------- `user` が存在する場合はテーブルを削除します。 テーブル `user` を作成します ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主キー', `name` varchar(255) 文字セット utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'ユーザー名', `age` int(11) NOT NULL COMMENT '年齢', `sex` smallint(6) NOT NULL COMMENT '性別', BTREE を使用した主キー (`id`) ) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- ユーザーの記録 -- ---------------------------- `user` に VALUES (1, '李子8', 18, 1) を挿入します。 INSERT INTO `user` VALUES (2, '张三', 22, 1); `user` VALUES (3, '李四', 38, 1) に INSERT INTO します。 `user` VALUES (4, '王五', 25, 1) に INSERT INTO します。 INSERT INTO `user` VALUES (5, '六麻子', 13, 0); `user` VALUES (6, '田七', 37, 1) に INSERT INTO します。 `user` VALUES (7, 'Thank you', 18, 1) に INSERT INTO します。 FOREIGN_KEY_CHECKS = 1 を設定します。 データの初期順序は次のとおりです。 mysql> ユーザーから * を選択します。 +----+--------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+--------+-----+-----+ | 1 | プラム 8 | 18 | 1 | | 2 | 張三 | 22 | 1 | | 3 | 李思 | 38 | 1 | | 4 | 王武 | 25 | 1 | | 5 | 劉麻子 | 13 | 0 | | 6 | 天斉 | 37 | 1 | | 7 | ありがとう | 18 | 1 | +----+--------+-----+-----+ セット内の行数は 7 です (0.00 秒) 2.1 Where句の位置where 句は from 句の後に来ます。例: mysql> ユーザーから * を選択して、年齢が 18 の場合; +----+--------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+--------+-----+-----+ | 1 | プラム 8 | 18 | 1 | | 7 | ありがとう | 18 | 1 | | 8 | 李子奇 | 18 | 1 | +----+--------+-----+-----+ セット内の 3 行 (0.00 秒) order by を使用する場合、where 句は order by の前に配置されます。例: mysql> select * from user where age = 18 order by name; +----+--------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+--------+-----+-----+ | 1 | プラム 8 | 18 | 1 | | 8 | 李子奇 | 18 | 1 | | 7 | ありがとう | 18 | 1 | +----+--------+-----+-----+ セット内の 3 行 (0.00 秒) 2.2 演算子where 句は次の 8 つの演算子をサポートします。
次に、テーブル内の演算子を使用して、where サブクエリを 1 つずつ実行します。 2.2.1 演算子 = 演算子 = は、完全に一致するデータをクエリするために使用できます。MySQL はデフォルトでは大文字と小文字を区別しないことに注意してください。 必要: select * from user where name = '李子捌'; 結果:
演算子 = 一致するデータが複数ある場合は、where 句の条件を満たすすべてのデータが返されます。並べ替え方法を指定する必要がある場合は、order by を使用してデータを並べ替えることができます。 2.2.2 演算子 <> と != これら 2 つの演算子は、どちらも不等なデータを一致させるという同じ効果を実現します。 必要: select * from user where name <> '李子捌'; select * from user where name != '李子捌'; 結果:
2.2.3 演算子 <=、<、>=、> 必要: 年齢 <= 20 のユーザーから * を選択します。 結果:
2.2.4 との間 必要: 年齢が 20 から 50 の間のユーザーから * を選択します。
2.3 NULL値NULL 値は、データが含まれていないことを意味します。テーブルを作成するときに、列に NULL 値を含めることができるかどうかを指定するために使用できます。 null は、データ値型の 0 や文字型のスペースとは異なることに注意してください。null 値は値がないことを意味します。 必要: 名前が null であるユーザーから * を選択します。 結果:
ユーザー テーブルに null の名前値を持つデータがないため、データは返されません。名前列が空でないデータをクエリする必要がある場合、どのようにクエリすればよいでしょうか? この時点では、nullではない mysql> 名前が null でないユーザーから * を選択します。 +----+--------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+--------+-----+-----+ | 1 | プラム 8 | 18 | 1 | | 2 | 張三 | 22 | 1 | | 3 | 李思 | 38 | 1 | | 4 | 王武 | 25 | 1 | | 5 | 劉麻子 | 13 | 0 | | 6 | 天斉 | 37 | 1 | | 7 | ありがとう | 18 | 1 | | 8 | 李子奇 | 18 | 1 | +----+--------+-----+-----+ MySQL where の詳しい使い方については、これで終わりです。MySQL where の使い方に関するより詳しい内容については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Web フォントの読み込みを最適化する方法をご存知ですか?
注意: nginxのバージョンは1.9以上である必要があります。nginxをコンパイルするときに、-...
方法 1: readonly 属性を true に設定します。入力値=読み取り専用 readOnly...
私たちウェブマスターは皆、ウェブサイトを最適化する際に記事内のキーワードを太字にすることが最適化に非...
Enctype : ブラウザがデータをサーバーに送り返すときに使用するエンコーディングのタイプを指定...
Nginx では、URL のパス パラメータに基づいて、到達不可能なアップストリームに動的に転送する...
0. 準備: • iTunesを閉じる• タスクマネージャーでiTunesから始まるサービスを終了し...
MySQL はインストールが簡単で、高速で、豊富な機能を備えています。これはオープンソース運動のベン...
導入yum (Yellow dog Updater, Modified) は、Fedora、RedH...
目次1. 値を入力し、そのデータ型を返す** 2. アレイ重複排除3. 文字列の重複排除4. ディー...
目次作成機能配列プロトタイプの削減Array.prototype.reduceRightパイプ関数作...
MySQL フルバックアップ1. バイナリログを有効にし、データベースから分離して別々に保存する v...
私がデザインした最初の Web ページは次のとおりです。 私はこの業界に7年間在籍し、プログラミング...
この記事は主に、一定の参考値を持つ純粋な HTML + CSS によって実現されるタイピング効果を紹...
開発動向: html (ハイパーテキスト マークアップ言語) - xhtml (拡張ハイパーテキスト...
序文:私はずっと、SQL 文がどのように、どのような順序で実行されるのかを知りたいと思っていました。...