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

推薦する

CSS でコンテンツが長すぎる問題を解決する方法の詳細な説明

CSS を記述するときに、デザインに存在する重要なケースを忘れてしまうことがあります。たとえば、コン...

Linux/Mac MySQL パスワードを忘れた場合の対処方法

Linux/Mac の MySQL パスワードを忘れた場合はどうすればいいですか?心配しないでくださ...

docker で php+nginx+swoole+mysql+redis 環境を構築する方法

オペレーティングシステム: Alibaba Cloud ESC インスタンス centos7.4ソフ...

CentOS に Docker をインストールし、Springboot で Docker をリモート公開する方法

目次1. CentOS7.0へのJDK1.8のインストール2. Dockerのインストール3.Doc...

MySQLデータの同時更新を処理する方法

UPDATE はロックしますか?以下のような場合、SQL文はロックされますか? テーブル1を更新しま...

Vue.js パフォーマンス最適化 N 個のヒント (収集する価値あり)

目次機能コンポーネント子コンポーネントの分割ローカル変数v-show によるDOMの再利用キープアラ...

MySQLデータのバックアップとリカバリの実装方法の分析

この記事では、例を使用して MySQL データのバックアップと復元の方法について説明します。ご参考ま...

MySQL binlog の使用方法の詳細な説明

binlog は、MySQL のすべての DML 操作を記録するバイナリ ログ ファイルです。 bi...

MySQLは文字列関数のSQL文をインターセプトします

1. left(name,4)は左の4文字をインターセプトしますリスト: SELECT LEFT(2...

Linux の一般的なテキスト処理コマンドと vim テキストエディタ

今日は、いくつかの一般的なテキスト処理コマンドとvimテキストエディタを紹介します。 3日目 - 一...

ウェブレスポンシブレイアウトにおけるiframe適応の方法

問題<br />レスポンシブ レイアウトでは、iframe 要素に注意する必要があります...

Vue3.0プロジェクトの構築と利用プロセス

目次1. プロジェクト構築2: ディレクトリ構造3: コンポジションAPI 4: 基本的な使い方:最...

Dockerはコンテナ外のコンテナ内でコマンドを実行します

コンテナ内でコマンドを実行したいが、コンテナに入りたくない場合があります。ではどうすればいいでしょう...

Node.js を使用して png 画像に透明なピクセルがあるかどうかを判断する方法

背景PNG 画像は jpg 画像よりも多くのストレージスペースを占有しますが、PNG 画像の品質は大...

VueとFlask間の通信の実装

axiosをインストールして通信を実装するここでは、axios を使用して Vue フロントエンドと...