1. サブクエリとは何ですか?商品 TNT2 を注文したすべての顧客を一覧表示します。 cust_idを選択 注文から order_num IN (SELECT order_num 注文商品から prod_id = 'TNT2'の場合 ) サブクエリを含む ネストできるサブクエリの数に制限はありませんが、実際の使用では、パフォーマンスの制限により、あまり多くのサブクエリをネストすることはできません。 注記:
サブクエリは cust_name、cust_state、(SELECT COUNT(*) FROM orders WHERE orders.cust_id = customers.cust_id) を orders として選択します。 顧客から cust_name で並べ替え
接続は次のとおりです。 ベンダー名、製品名、製品価格を選択します ベンダー、製品から vendors.vend_id = products.vend_id の場合 ベンダー名、製品名で並べ替え 注記:
where ステートメントを使用して結合する役割は次のとおりです。
注記:
次の SELECT ステートメントは、前の例とまったく同じデータを返します。 ベンダー名、製品名、製品価格を選択します vendors から、 vendors.vend_id の products を INNER JOIN して、 products.vend_id に変換します。 ベンダー名、製品名で並べ替え どの構文を使用すればよいですか? パフォーマンスの考慮事項 たくさん実験してください。ご覧のとおり、通常、特定の SQL 操作を実行する方法は複数あります。物事を行うのに絶対的に正しい方法や間違った方法というものはほとんどありません。パフォーマンスは、操作の種類、テーブル内のデータの量、インデックスやキーの存在、その他の条件によって影響を受ける可能性があります。したがって、さまざまな選択メカニズムを試して、特定の状況に最適なものを見つける必要があります。複数のテーブル結合を使用することもできますが、テーブル名が複数の場所で使用されるためテーブル名が非常に長くなり、テーブル別名を使用する必要があるという問題があります。 のように: 以下にいくつかの特殊な接続を紹介します。 2. 自己結合ある品目 ( この問題を解決する一つの方法は次のとおりです。 次のようにサブクエリを使用できます。 prod_id、prod_name を選択 製品から vend_id = (製品から vend_id を選択、prod_id ='DTNTR' を選択) 自己結合も使用できます。 t1.prod_id、t2.prod_name を選択 製品t1、製品t2から ここで、t1.vend_id = t2.vend_id かつ t1.prod_id='DTNTR' サブクエリの代わりに自己結合を使用する 自己結合は、同じテーブルからデータを取得するときに使用されるサブクエリを置き換える外部ステートメントとしてよく使用されます。最終結果は同じですが、結合はサブクエリよりもはるかに高速に処理できる場合があります。どちらのアプローチが優れているかを判断するには、両方のアプローチを試してみる必要があります。 3. 自然な結合テーブルを結合するときは、複数のテーブルに表示される列 (結合される列) が少なくとも 1 つ必要です。標準結合 (前の章で説明した内部結合) では、同じ列が複数回出現する場合でも、すべてのデータが返されます。自然結合により、複数の出現が排除され、各列が 1 回だけ返されるようになります。 この作業を完了するにはどうすればいいですか?答えは、システムが仕事をするのではなく、あなた自身がそれをやるということです。自然結合は、一意の列のみを選択する結合です。これは通常、テーブルでワイルドカード ( 4. 外部接続多くの結合は、あるテーブルの行を別のテーブルの行に関連付けます。しかし、場合によっては、関連付けられている行がない行を含める必要があります。たとえば、結合を使用して次の操作を実行できます。 たとえば、まだ注文していない顧客も含め、各顧客が注文した注文数をカウントします。 顧客ID、注文番号を選択します 顧客からのLEFT OUTER JOIN orders on customers.cust_id = orders.cust_id この 集計関数を使用した結合の使用: すべての顧客と各顧客の注文数を取得するには: customers.cust_id を選択し、COUNT(order_num) を num として取得します。 顧客からのLEFT OUTER JOIN orders on customers.cust_id = orders.cust_id cust_id によるグループ化
これで、MySQL サブクエリと結合テーブルに関するこの記事は終了です。MySQL サブクエリと結合テーブルに関するより詳しい情報については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: マウスが画像のハイパーリンク上を通過するときに画像のサイズ(幅、高さ)を変更する CSS
カスケードを制御するために CSS の任意のプロパティに割り当てることができる特別な値が 2 つあり...
最近、Zabbix データベースを MySQL 5.6 から 5.7 にアップグレードしたときに、マ...
MySQLの概要MySQL はリレーショナル データベース管理システムです。データベースは構造化され...
CSS ビューポート ユニットはここ数年登場しており、時が経つにつれて、ますます多くの開発者が使用し...
前回の記事では、Navicat for Mysql 接続エラー 1251 (接続失敗) の問題を解決...
目次ブートオプションコマンドラインパラメータの長い形式と短い形式設定ファイル構成グループシステム変数...
目次1. 重複したリクエストをキャンセルする2. すべてのリクエストをクリーンアップするこのソリュー...
目次1. はじめに2. シンプルなepollの例2.1、epoll_create 2.2、構造体イベ...
目次序文ローカルストレージの使用シナリオ使用上の問題解決機能性有効期限を追加データ暗号化を追加する命...
目次MySQL マスター スレーブ レプリケーション環境を設定する場合、マスター データベースとスレ...
目次1. はじめに2. 設定手順1. はじめに1. NAT モード (VMnet8) は、仮想マシン...
<br />このページでは、テーブルをネストすることで組版を実現しています。つまり、1 ...
目次1. ルートナビゲーション2. 履歴状態管理API (1)ハッシュチェンジイベント(2)ポップス...
水平方向では、セルの配置を左、中央、右に設定できます。基本的な構文<TD ALIGN=&quo...
目次序文Linux アプリケーション実行中に開いているファイルが多すぎる問題の分析と解決Linux ...