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プロジェクトのパッケージングと展開の実際のプロセスの記録

目次序文1. 準備 - サーバーとnginxの使用1. サーバーを準備する2. nginxをインスト...

Vue が学ぶべき知識ポイント: forEach() の使用

序文フロントエンド開発では、目的のコンテンツを取得するためにループをトラバースする必要がある状況に頻...

HTML のオートコンプリートを無効にして履歴を表示しないようにする

入力ボックスには、コンテンツを入力するときに常に入力履歴が表示されます。これを無効にする現在の方法は...

タイムスタンプの差を計算するSQLメソッド

タイムスタンプの差を計算するSQLメソッド概要場合によっては、特定のレコードを時間で検索する必要があ...

レスポンシブ原則と Vue2.0/3.0 の違いについての簡単な分析

序文vue3.0 が正式にリリースされて以来、多くの友人が vue3.0 に切り替えました。ここでは...

Windows Server win2003、win2008R2、win2012、win2016、win2019 システム バージョン間の違い

最近、Microsoft は 2019 サーバー システムをリリースしました。一般的に、Micros...

MySQL ユーザー権限管理の実装

1. MySQL の権限の概要MySQL には、権限を制御する 4 つのテーブルがあります。user...

vueを使用して登録ページの効果を実現し、vueを使用してSMS認証コードログインを実現します

この記事の例では、登録ページの効果を実現するためのVueの具体的なコードを参考までに共有しています。...

Linux コマンドラインでメールを送信する 5 つの方法 (推奨)

シェル スクリプトで電子メールを作成する必要がある場合は、コマンド ラインから電子メールを送信する知...

MySQLデータベーステーブルの容量を確認する方法の例

この記事では、MySQL のデータベース テーブルの容量を確認するためのコマンド ステートメントを紹...

CSS3 ベジェ曲線の例: リンクホバーアニメーション効果の作成

CSS3 アニメーション トランジションを使用して、リンクの上にマウスを移動すると小さなポップアップ...

Linux に Python 3.8.1 をインストールするための詳細なチュートリアル

この例では、Linux への Python 3.8 のインストールを例に挙げます。 1. 依存パッケ...

XHTML ブロックレベルタグの概要

* 住所 - 住所* blockquote - ブロック引用* center - 中央揃えブロック*...

MySQL のロックに関する問題

ロックの分類:データ操作の粒度から:テーブルロック:操作時にテーブル全体がロックされます。行ロック:...

mysql charset=utf8 本当に意味が分かりますか

1. まずテーブル作成ステートメントを見てみましょう テーブル学生を作成( sid int 主キー ...