SQLベースのクエリステートメント

SQLベースのクエリステートメント

SQL ステートメントでは、クエリが最もよく使用される操作です。SQL はテーブル内のデータをクエリできるだけでなく、算術演算や式の結果を返すこともできます。次に、基本的なクエリ ステートメントについて学習しましょう。

1. 基本的なSELECT文

1. 指定されたフィールドをクエリする

構文形式:

SELECT <字段名>,... FROM <表名>;

ステートメントでは複数のフィールドを指定でき、指定されたフィールドに基づいて結果が表示されます。

たとえば、ユーザー テーブル内のユーザー ID、ユーザー名、ニックネーム、性別情報を照会します。

users から user_id、user_name、nick_name、sex を選択します。

2. すべてのフィールドをクエリする

テーブル内のすべてのフィールドを表示するには、アスタリスク「*」を使用します。たとえば、次のステートメントは、 usersテーブル内のすべてのデータを照会します。

ユーザーから * を選択します。

「*」はすべてのフィールドを表します。データベースがステートメントを解析するときに、テーブル内のフィールド名を使用して展開します。実際の状況に応じて、「*」をuser_iduser_namenick_namesexmobileemailなどのテーブル内のフィールドに置き換えます。

3. エイリアスを設定する

列の別名を設定するには、AS キーワードを使用します。

SELECT user_id AS iduser_name ASユーザー名、 nick_name ASニックネーム、 sex AS性別FROM users ;

4. 定数クエリ

SELECT文では、列名だけでなく定数も記述できます。

次のように:

100を選択;
'ユーザー'を選択します。

5. 式クエリ

選択98%100;

6. 重複排除

SELECTステートメントでDISTINCTキーワードを使用すると、クエリ結果内の重複レコードを削除できます。たとえば、 user_nameの重複データを削除するには、次のようにします。

SELECT DISTINCT user_name FROM users;

注: DISTINCT は NULL 値をフィルタリングしません。つまり、返される結果には NULL 値が含まれます。

DISTINCT複数の列に適用される場合、適用範囲はそれに続くすべてのフィールドとなり、 DISTINCTすべてのフィールドの前、つまり最初の列名の前にのみ配置できます。

SELECT DISTINCT user_name,nick_name FROM users;

7. 条件付きクエリ

SELECTステートメントは、 WHERE句を使用して、指定された条件を満たすレコードを照会します。WHERE 句は、 WHEREFROM後に続く必要があります。

SELECT <フィールド名>,... FROM <テーブル名> WHERE <条件式>;

7.1 単一条件クエリ

性別が男性のユーザーをクエリします。

SELECT * FROM users WHERE sex='男';

年齢が 24 歳以下のユーザーをクエリします。

SELECT * FROM users WHERE age<=24;

ユーザー ID が 3 ではないユーザーを照会します。

SELECT * FROM users WHERE NOT user_id=3;

3 番目の例ではNOT演算子が使用されています。条件の前にNOTを追加すると、条件が否定され、条件外のレコードが検索されます。

7.2 複数条件クエリ

年齢が 24 歳以下または性別が男性のユーザーをクエリします。

SELECT * FROM users WHERE age<=24 OR sex='男';

年齢が 24 歳以下で性別が男性のユーザーをクエリします。

SELECT * FROM users WHERE age<=24 AND sex='男';

上記のクエリでは複数の条件が使用されています。条件を同時に満たすことができる場合は、 AND演算子を使用します。1 つの条件のみを満たすことができる場合は、 OR演算子を使用します。

7.3 範囲指定によるクエリ

ユーザー ID が範囲 (2,3,7,8) にあるユーザーを照会します。

SELECT * FROM users WHERE user_id IN (2,3,7,8);

IN はWHERE句で複数の値を指定します。IN の後には括弧が続きます。括弧内には 1 つ以上の値を指定できます。値はカンマで区切られ、数字または文字を指定できます。

ユーザー ID が 10 から 15 までのユーザーを照会します。

SELECT * FROM users WHERE user_id BETWEEN 10 AND 15;

BETWEEN ... AND 、数値、テキスト、または日付の 2 つの値間のデータの範囲を指定します。

7.4 あいまいクエリ

LIKEキーワードは、 SQLファジー クエリで検索文字列のパターン マッチングを実行するために使用されます。

構文形式:

フィールド名LIKE pattern

マッチングモード:

  • % : パーセント記号は 0 個、1 個、またはそれ以上の文字に一致します。
  • - : アンダースコア記号は1文字に一致します
モデル意味
'a%' のようにabc、abなど、Aで始まる文字列に一致します。
'%y' をいいねaay、xyなど、yで終わる文字列に一致します。
'%mn% のようにamnb、lmnなど、mnを含む文字列に一致します。
'a_' のようにayやabなど、aで始まり、その後に1文字のみが続くデータに一致します。
'_y' のようにyで終わり、先頭に1文字のみが付いたデータ(ay、xyなど)に一致します。
例えば:

ユーザーのニックネームにtigeriafが含まれるデータを検索します。

SELECT * FROM users WHERE nick_name LIKE '%tigeriaf%';

SQL 基本クエリ ステートメントに関するこの記事はこれで終わりです。SQL 基本クエリ ステートメントに関する関連情報をさらに知りたい場合は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL インフラストラクチャ チュートリアル: クエリ ステートメント実行プロセスの詳細な説明
  • 初心者が必ず読むべき 15 個の基本的な SQL クエリ ステートメント
  • SqlServer の基本データ取得、クエリの並べ替えステートメント

<<:  Vue lazyload 画像遅延読み込み例の詳細な説明

>>:  Iframe Web ページのナビゲーション ウィンドウに関する簡単な説明

推薦する

Vue ベースの円形スクロールリスト機能を実装する

注: 親コンテナーに高さと :data='Array' および overfolw:h...

HTML タグ sup と sub の応用の紹介

HTML タグ: 上付き文字HTML では、<sup> タグは上付き文字のテキストを定義...

docker.service 起動エラーの詳細なトラブルシューティング

エラーを報告するには次のコマンドを実行しますsystemctl dockerを再起動しますエラーメッ...

CSS の優先順位に関する詳細な紹介

CSS の優先順位について話す前に、CSS とは何か、CSS が何に使用されるのかを理解する必要があ...

dockerコンテナがIP経由でホストマシンにアクセスできない問題を解決する方法の詳細な説明

問題の起源docker を使用する場合、残念ながら docker コンテナ内のホストのポート 80 ...

Linux システムファイル共有 samba 設定チュートリアル

目次sambaをアンインストールしてインストールする新しい共有パスを作成し、権限を設定するSamba...

Vueは複数のカウントダウンを同時に設定する機能を実装しています

この記事の例では、複数のカウントダウンを同時に設定するためのVueの具体的なコードを参考までに共有し...

nginx+php-fpm サービスの HTTP ステータス コード 502 の詳細な分析

弊社の Web プロジェクトの 1 つでは、新しい都市の増加によりトラフィックと DB 負荷が増加し...

vue ディレクティブ v-bind の使用と注意点

目次1. v-bind: 要素の属性にデータをバインドできる2. v-bind: は次のように省略で...

Nginx gzip設定について

nginx がリソース圧縮を実現する原理は、ngx_http_gzip_module モジュールを介...

MySQL 5.7.13 のインストールと設定方法のグラフィック チュートリアル (win10 64 ビット)

この記事では、参考までにMySQL 5.7.13 winx64のインストールと設定方法のグラフィック...

Docker で MySQL サービスをデプロイする方法と、遭遇する落とし穴

最近、ポーターを学んでいます。こんなに強力なものがあったなんて、今まで知らなかった気がします。クラス...

MySQLのロック機構の詳細な説明

序文データの一貫性と整合性を確保するために、あらゆるデータベースにはロック メカニズムが備わっていま...

NestJsはMongooseを使用してMongoDBを操作する

最近、NestJs フレームワークを学び始めました。学習コストは他のフレームワークよりもはるかに高く...

CentOS 7 でゲートウェイを変更して IP を設定する方法の例

Centos7 バージョンをインストールするときに、外部ネットワークへの接続を選択すると、外部ネット...