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 ページのナビゲーション ウィンドウに関する簡単な説明

推薦する

MySQL スローログ実践のまとめ

遅いログクエリ機能スロー ログ クエリの主な機能は、設定された時間しきい値を超える SQL ステート...

Firefox の CSS を使用してデータを盗む

0x00 はじめに数か月前、Firefox に脆弱性 (CVE-2019-17016) があること...

Nginx 1つのドメイン名で複数のプロジェクトにアクセスする方法の例

背景最近、複数のプロジェクトを展開する際に、1 つのドメイン名で複数のプロジェクトにアクセスする方法...

Docker のタイムゾーンの問題とデータ移行の問題

最新のソリューション: -v /usr/share/zoneinfo/Asia/Shanghai:/...

WIN10 システムと Docker 内部コンテナ IP 間の通信方法

1. Windows 版の Docker をインストールしたら、Docker クイックスタート ター...

Dockerでの接続例外中のエラーを解決する

Docker を初めて使い始めると、通常とは異なる問題に遭遇して、必然的に混乱してしまいます。大丈夫...

Linux で Bash コマンド プロンプトをカスタマイズする方法

序文ご存知のとおり、bash (Bourne-Gain Shell) は、ほとんどの Linux デ...

Docker Compose を使用して nginx のロード バランシングを実装する方法

Dockerネットワーク管理とコンテナIP設定に基づいてNginxロードバランシングを実装するすべて...

CSSはクーポンスタイルを実装するために放射状グラデーションを使用します

この記事では、CSS で放射状グラデーションを使用して、次の図に示すクーポン スタイルの効果を実現す...

Postman 自動インターフェーステストの実践

目次背景説明GETリクエストの作成事前リクエストスクリプトで署名を作成するスクリプトは環境変数に書き...

CSSの絶対と相対について

冒頭にこう書かれています:アブソリュートは言った。「親戚よ、私はあなたを私の人生で見たくない!」なぜ...

Html+CSS 描画三角形アイコン

まずはレンダリングを見てみましょう: XML/HTML コードコンテンツをクリップボードにコピー&l...

VMWare仮想マシンのcentosの時間が現地時間と矛盾する問題を解決する

VM Ware 仮想マシン CentOS の時刻は、次の図に示すように、現地時間と一致しません。おそ...

Ansibleを使用してTomcatをバッチでデプロイする方法

1.1 ディレクトリ構造の構築この操作は、nginx+mysql+tomcat+dbのディレクトリ構...

Node.js を使用してパスワード ジェネレータを作成するための完全な手順

目次1. 準備2. コマンドラインの記述2.1 バージョンと説明を追加する2.2 パスワードの長さを...