Mysql の使用法の概要

Mysql の使用法の概要

導入

EXISTS は、サブクエリが少なくとも 1 行のデータを返すかどうかを確認するために使用されます。サブクエリは実際にはデータを返しませんが、True または False の値を返します。

EXISTS は、行の存在をテストするサブクエリを指定します。構文: EXISTS サブクエリ。サブクエリ パラメータは制限された SELECT ステートメントです (COMPUTE 句と INTO キーワードは許可されません)。結果の型はブール型で、サブクエリに行が含まれている場合は TRUE を返します。


アクティビティ構成メイン テーブル activity_main は、act_code を使用してアクティビティを一意に識別します。アクティビティ会場適応テーブル activity_area は、act_code を介してメイン テーブルに関連付けられます。アクティビティ賞品テーブル activity_sku は、act_code を介してメイン テーブルに関連付けられます。

アクティビティメインテーブル

テーブル `activity_main` を作成します (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`act_code` varchar(255) NOT NULL COMMENT 'アクティビティコード',
`act_name` varchar(255) NOT NULL COMMENT 'アクティビティ名',
主キー (`id`)、
ユニークキー `uniq_code` (`act_code`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='アクティビティメインテーブル'

イベント開催サイトの適応表

テーブル `activity_area` を作成します (
 `id` bigint(20) NOT NULL AUTO_INCREMENT,
 `act_code` varchar(255) NOT NULL COMMENT 'アクティビティコード',
 `area` varchar(255) NOT NULL COMMENT 'このアクティビティに参加しているウェブサイト',
 主キー (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='イベントと互換性のあるウェブサイトのリスト'

イベント賞品一覧

テーブル `activity_sku` を作成します (
 `id` bigint(20) NOT NULL AUTO_INCREMENT,
 `act_code` varchar(255) NOT NULL COMMENT 'アクティビティコード',
 `sku` varchar(255) NOT NULL COMMENT 'イベント中に配布された製品',
 主キー (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='アクティビティギフトテーブル'

EXISTS と IN を使用してクエリを比較する この例では、意味的に類似した 2 つのクエリを比較します。最初のクエリでは IN を使用し、2 番目のクエリでは EXISTS を使用します。両方のクエリは同じ情報を返すことに注意してください。

# 体重計を照会する select * from activity_main where act_code in (
activity_sku から act_code を選択します。ここで、sku は 'Lingye Jun の体脂肪計' です。
)

# 体重計を照会する select * from activity_main a where exists (
activity_sku b から 1 を選択します。ここで、a.act_code = b.act_code かつ b.sku = 'Lingye Jun の体脂肪計'
)

# ファジークエリ B-BEKO 英国製ベビーカー select * from activity_main where act_code in (
'%B-BEKO%' のような sku を持つ activity_sku から act_code を選択
)

# ファジークエリ B-BEKO 英国製ベビーカー select * from activity_main a where exists (
activity_sku b から 1 を選択します。ここで、a.act_code は b.act_code で、b.sku は '%B-BEKO%' です。
)

# Blog Garden で開催されているアクティビティをクエリする select * from activity_main where act_code in (
area = '博客园' である activity_area から act_code を選択
)

# Blog Gardenで開催されているアクティビティをクエリする select * from activity_main a where exists (
activity_area b から 1 を選択します。この場合、a.act_code = b.act_code かつ b.area = '博客园' となります。
)


# Blog Gardenでイベントを開催するためのアクティビティ情報。賞品はHuaweiの携帯電話です。select * from activity_main where act_code in (
area = '博客园' かつ act_code in ( ) の activity_area から act_code を選択
activity_sku から act_code を選択します (sku = 'Huawei P30Pro')
))


# 内側の層が存在するステートメントは、現在の where ステートメントでのみ有効です。最終的に返されるかどうかは、最外層が存在するかどうかによって決まります。true の場合は結果セットに返され、false の場合は破棄されます。
activity_mainから*を選択します。存在する場合(
a.act_code = b.act_codeかつb.area = '博客园'であり、存在するactivity_area bから1を選択します。
(a.act_code = c.act_code、c.sku = 'Huawei P30Pro' の場合、activity_sku c から 1 つを選択)
)

上記はMysql existsの使い方のまとめの詳しい内容です。Mysql existsの使い方についてもっと知りたい方は、123WORDPRESS.COMの他の関連記事もぜひご覧ください!

以下もご興味があるかもしれません:
  • MySQL における in と exists の使い方と違いの紹介
  • MySQL ステートメントにおける IN と Exists の比較分析
  • mysql の存在する例と存在しない例の詳細な説明
  • MySQLの存在と詳細な説明と違い
  • MySQL の in クエリと exists クエリの違いの概要
  • MySQLにバグが存在する
  • MySQL のインストール時に「MySQL という名前の Windows サービスが既に存在します。」というエラーを解決する方法
  • MySQL サブクエリで FROM 句と EXISTS 句を使用するチュートリアル
  • MYSQL IN と EXISTS の最適化の例
  • mysql は、含まれていない、左結合、IS NULL、NOT EXISTS の効率の問題のレコードです
  • UCenter 情報: MySQL クエリ エラー SQL:SELECT value FROM [Table]vars WHERE noteexists

<<:  JavaScript ファクトリーパターンの説明

>>:  Nginx サーバーが Systemd カスタム サービス プロセス分析を追加

推薦する

Layuiテーブルは指定された行のラジオボタンを選択し、その行の実装コードまでスクロールします。

layui テーブルには複数行のデータがあります。外部入力コンテンツを通じて、指定された行を見つけ...

MySQL の int、char、varchar のパフォーマンスを比較する

インターネットには、真実のように見える「噂」がたくさんあります。もちろん、悪意のあるものではありませ...

携帯電話に GreasyFork js スクリプトをインストールするチュートリアル

目次序文1. Iceraven ブラウザ (Firefox) (Android) 2. (アンドロイ...

Mysql ファジークエリが大文字と小文字を区別するかどうかの詳細な調査

序文最近、私は小さな個人ブログ プロジェクトを書くのに忙しくしています。 「グローバル検索」機能を実...

AngularJSにおける括弧の役割の詳細な説明

1. 括弧の役割1.1 角括弧 [ ]属性名が角括弧で囲まれている場合、右側には式の値が割り当てられ...

Vue で Axios 非同期リクエスト API を使用する方法

目次基本的なHTTPリクエストの設定async/await を使用した Axios Axios によ...

Vueはユーザー名が使用可能かどうかの検証を実装します

この記事では、ユーザー名が使用可能かどうかを確認するためのVueの具体的なコードを例として紹介します...

Linux に MySQL 8.0.x をインストールするための完全な手順

マイグレーションMySQL 入門MySQL はもともとオープンソースのリレーショナル データベース管...

Vueは質問応答機能を実装する

1. リクエスト回答インターフェース2. ユーザーの回答が正しいかどうかを判断します。回答が正しい場...

純粋な HTML ページを送信し、パラメータを渡し、ID を確認する方法

プロジェクトにはアンケートが必要ですが、クライアントはアンケートのタイトルが純粋なHTMLタグでなけ...

LinuxにNginxを素早くインストールする方法

目次nginxとは1. 必要な依存関係をダウンロードする2. nginxの圧縮パッケージをダウンロー...

Linux でのプロセスデーモン スーパーバイザーのインストール、構成、および使用

Supervisor は非常に優れたデーモン管理ツールです。自動起動、ログ出力、自動ログカットなど、...

史上最も便利な Zookeeper サーバーの構築方法 (推奨)

ZooKeeperとはZooKeeper は、分散アプリケーションに効率的で可用性の高い分散調整サ...

Vueのシンプルな状態管理ストアモードを理解する方法

目次概要1. store.jsを定義する2. store.js を使用するコンポーネント3. 成果を...

JavaScript デザインパターン コマンドパターン

コマンド パターンは、JavaScript デザイン パターンにおける動作デザイン パターンです。定...