MySQL データベースでよく使用される SQL ステートメントの詳細と概要

MySQL データベースでよく使用される SQL ステートメントの詳細と概要

この記事では、MySQL データベースでよく使用される SQL ステートメントを例を使用して説明します。ご参考までに、詳細は以下の通りです。

基本的な MySQL SQL ステートメントについては前述しました。ここでは、SQL ステートメントの高度な内容を引き続き要約します。

高度なSQL文

1. クエリフィールド:

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

テーブル名から*を選択します。

————指定されたフィールドを照会する

テーブル名からフィールド名、フィールド名...を選択します。

————複数のデータテーブル接続クエリ

テーブル名.フィールド名、テーブル名.フィールド名…をテーブル名から選択します。

————テーブルの別名としてasを使用する

テーブル名からテーブルエイリアス.フィールド名をテーブルエイリアスとして選択します。

————重複行を削除する(重複しない)

テーブル名から異なるフィールド名を選択します。

2. 条件付きクエリ:

————比較演算子 (>, <, =, !=)

テーブル名から、年齢が18より大きい*を選択します。 

(<>は!=も意味します)

————論理演算子(and、or、not)

テーブル名から、年齢>18かつ年齢<28の*を選択します。(18

3. ソート:

- - 上昇

select * from table name order by asc; (デフォルトは asc ですが省略可能です)

————下降

テーブル名から * を選択し、desc で並べ替えます。

4. 集計関数:

————合計数

テーブル名からcount(*)を選択します。

————最大値max

テーブル名からmax(age)を選択します。

————最小値 min

テーブル名からmin(age)を選択します。

- - 和

テーブル名からsum(age)を選択します。

————平均値avgを求める

テーブル名からavg(age)を選択します。

————小数点以下は四捨五入

select round(avg(age),2) from table name; (平均年齢をクエリし、小数点以下2桁に丸めます)

5. グループ化(ポイント):

————グループ化

テーブル名から性別カウント(*)を選択し、性別でグループ化します。(性別でグループ化し、性別と人数を照会します)

————グループクエリ(集計関数、group_concat()、having)

select gender avg(age) from table name group by gender; (各性別の平均年齢を照会します)

select gender group_concat(name) from table name group by gender; (group_concat(name) でグループ名を表示)

select gender count() from table name group by gender having count()>2 (having は where に似ており、フィルタリング条件です。having は group by にのみ使用でき、where はテーブルデータに使用されます)

————まとめ

select gender count(*) from table name group by gender with rollup; (要約結果を表示するには最後に新しい行を追加します)

6. ページネーション:

————最初のn個のデータを照会します(制限は通常bestに書かれており、操作後のデータが表示されることを示します)

テーブル名制限nから*を選択します。

————ページネーション表示

select * from table name limit 0,3; (1ページあたり3件表示、最初のページ) 
select * from table name limit 3,3; (1ページあたり3件表示、2ページ目) 
select * from table name limit 6,3; (1ページあたり3件表示、3ページ目)

7. 接続クエリ(キーポイント):

————内部結合…オン(内部結合)

select * from table name 1 inner join table name 2 on table name 1.cls_id=table name 2.id; (テーブル 1 cls.id とテーブル 2 を同じ ID で結合します) 
テーブル名 1. フィールド名 1、テーブル名 2. フィールド名 2 をテーブル名 1 から選択します。内部結合は条件に 2 を示します。

————左/右結合…オン(左/右/外部結合)

select * from tablename1 left/right join tablename2 on tablename1.cls_id=tablename2.id; (クエリ結果は、2 つのテーブルに一致するデータと、左のテーブルに固有のデータです。左/右のテーブルに存在しないデータについては、null を使用して埋めます)

8. サブクエリ:

————スカラーサブクエリ(サブクエリによって返される結果は1つのデータ(1行1列)です)

テーブル名から * を選択します。年齢 > (テーブル名から avg(age) を選択します)。

————列サブクエリ(返される結果は1つの列(複数の行を持つ1つの列))

tablename1 から name を選択し、 id を (tablename2 から cls_id を選択) と指定します。

————行サブクエリ(返される結果は行(複数の列を持つ1行))

テーブル名から * を選択します。ここで (height,age) = (select max(height),max(age) from テーブル名);

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL 共通関数の概要」、「MySQL ログ操作スキル」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキル」、および「MySQL データベース ロック関連スキルの概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • MySQL の選択、挿入、更新バッチ操作ステートメントのコード例
  • SQL 文を実行するときの Python MySQLdb パラメータ渡し方法
  • テーブルを作成するための MySQL SQL ステートメントの詳細な概要
  • MySQL ファジークエリステートメントコレクション
  • MySQL ストアド プロシージャにおけるループ ステートメント (WHILE、REPEAT、LOOP) の使用法の分析
  • MySQL データベースの基本的な SQL ステートメントの概要
  • MySQLステートメントの記述と実行順序を理解するだけです

<<:  Docker で Python スクリプトを実行する方法

>>:  JavaScript 配列のマージのケーススタディ

推薦する

Centos ベースイメージの作成方法

序文現在、私の会社で使用しているオペレーティングシステムはすべて CentOS7.4 で、アプリケー...

カルーセルバナーの自動回転効果を実現する純粋な CSS

さっそくコードを見てみましょう * { マージン: 0; パディング: 0; } 。容器 { マージ...

どのような種類の MYSQL 接続クエリを知っていますか?

序文クエリ情報が複数のテーブルから取得される場合、クエリのためにこれらのテーブルを結合する必要があり...

inline-blockプロパティとの互換性

<br />1年前、インターネット上にはinline-blockプロパティに関する記事は...

MySQLデータベースに中国語の文字を保存するときに発生するエラーを解決する方法を教えます

目次1. 遭遇した問題2. 問題を分析する3. 本当の問題4. 解決策5. ソリューション効果1. ...

一般的なイベントを処理するための JavaScript の使用に関する詳細な説明

目次1. フォームイベント2. マウスイベント3. キーボードイベント4. 共通イベントメソッド(ウ...

mysql バックアップ スクリプトを作成し、7 日間保存します。

スクリプトの要件: MySQL データベースを毎日バックアップし、スクリプトを 7 日間保存します。...

Dockerfile 内の予約語命令の解析処理

目次1. Dockerfile とは何ですか? 2. Dockerfile構築プロセスの分析3. D...

Vue は PDF ファイルのオンライン プレビューを実装します (pdf.js/iframe/embed を使用)

序文現在、私はコースウェア PPT のオンライン プレビューを必要とする高品質のコースに取り組んでい...

MySQL 4 の一般的なマスタースレーブレプリケーションアーキテクチャ

目次1つのマスターと複数のスレーブのレプリケーションアーキテクチャマルチレベルレプリケーションアーキ...

Linux オペレーティング システムで ssh/sftp を構成して権限を設定する方法

FTP と比較すると、SSH ベースの sftp サービスは、セキュリティが優れており (非プレーン...

Vueのwatch、computed、methodsの違いのまとめ

目次1 はじめに2 基本的な使い方2.1 方法2.2 計算プロパティ2.3 リスナーを見る3 3つの...

js はマウスによる画像の切り替えを実装します (タイマーなし)

この記事の例では、マウス切り替え画像を実現するためのjsの具体的なコードを参考までに共有しています。...

Vue で Google サードパーティ ログインを実装するためのサンプル コード

目次1. 開発者プラットフォームの構成問題を解決する1. 開発者プラットフォームの構成1. 開発者プ...

Linux システムに docker をインストールし、ssh 経由で docker コンテナにログインする方法

注: 私はCentosを使ってdockerをインストールしていますステップ1: Dockerをインス...