この記事では、MySQL のマルチテーブル共同クエリ操作について説明します。ご参考までに、詳細は以下の通りです。 MySQL マルチテーブル ジョイント クエリは、MySQL データベースのクエリ方法です。以下では、参考と学習のために、MySQL マルチテーブル ジョイント クエリの構文を紹介します。 MySQL マルチテーブル共同クエリ構文: 次のようにコードをコピーします。 SELECT * FROM insert table LEFT JOIN main table ON t1.lvid=t2.lv_id select * from mytable,title where table name 1.name=table name 2.writer; MySQL バージョン 4.0 以降の場合は、 SELECT `id`, `name`, `date`, '' AS `type` FROM table_A WHERE 条件ステートメント... 連合 SELECT `id`, `name`, `date`, 'Not Completed' AS `type` FROM table_B WHERE 条件文... ORDER BY `id` LIMIT num; MySQL バージョンが 4.0 未満の場合、一時テーブルを作成する必要があります。これは 3 つの手順に分かれています。例は次のとおりです。 ステップ1:一時テーブルtmp_table_nameを作成し、関連するレコードをtable_Aに挿入します。 次のようにコードをコピーします。 $sql = "CREATE TEMPORARY TABLE tmp_table_name SELECT `id`, `name`, `date`, 'completed' AS `type` FROM table_A WHERE 条件文... "; ステップ2: table_Bから関連レコードを取得し、一時テーブルtmp_table_nameに挿入します。 次のようにコードをコピーします。 INSERT INTO tmp_table_name SELECT `id`, `name`, `date2` AS `date`, 'Not Completed' AS `type` FROM table_B WHERE 条件文... ステップ3:一時テーブルtmp_table_nameからレコードを取得する SELECT * FROM tmp_table_name ORDER BY id DESC union、order by、limitの違いの分析 コード例: テーブル「test1」を作成します( `id` int(10) 符号なし NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `desc` varchar(100) NOT NULL, 主キー (`id`) ) エンジン=InnoDB デフォルト文字セット=utf8 1. 次のクエリはエラーを報告します: [Err] 1221 - UNIONとORDER BYの使い方が間違っています コード例: select * from test1 where name like 'A%' order by name 連合 select * from test1 where name like 'B%' order by name 変更後: コード例: test1 から * を選択し、名前が 'A%' のような場合 連合 select * from test1 where name like 'B%' order by name 括弧のない結合では、order by は 1 つしか使用できないことに注意してください (結合の両側の order by 列の名前が異なる場合はどうなるか考えてみてください)。これにより、結合後に結果セットが並べ替えられます。 変更後: コード例: (test1 から * を選択し、名前が 'A%' のような名前で並べ替えます) 連合 (test1 から * を選択し、名前が 'B%' のような名前で並べ替えます) これも可能。2 つの order by ステートメントは、union の前に実行されます。 2. 同様に コード例: test1 から * を選択、名前は 'A%' で制限は 10 です 連合 test1 から * を選択、名前は 'B%' のように制限 20 は以下と同等です: コード例: (test1 から * を選択、名前が 'A%' のような場合、制限は 10) 連合 (test1 から * を選択、名前が 'B%' のような場合) 制限 20 つまり、後者の制限は、結合後の選択ではなく、結合後の結果セットに適用されます。 3. UNIONとUNION ALLの違い Union は、Union の両側の選択結果セット内の重複行を除外しますが、Union All は重複行を除外しません。 コード例: (test1 から * を選択、名前が 'A%' のような場合、制限は 10) 連合 (test1 から * を選択、名前が 'B%' のような場合、制限は 20) 年齢グループ分析のための複雑な SQL ステートメントを試してみましょう。 ( 選択 '5~19' は `年齢` です。 SUM(`印象`) AS 印象、 SUM(`クリック`) AS クリック、 sum(`cost`) AS コスト から `広告グループ年齢レポート` どこ ( ( (`年齢` <= 19) AND (`adgroup_id` = '61') ) AND (`日付` >= '2015-11-22') ) AND (`日付` <= '2017-02-20') ) 連合 ( 選択 '20~29' は `年齢` です。 SUM(`印象`) AS 印象、 SUM(`クリック`) AS クリック、 sum(`cost`) AS コスト から `広告グループ年齢レポート` どこ ( ( ((`年齢` <= 29) AND(`年齢` >= 20)) AND (`adgroup_id` = '61') ) AND (`日付` >= '2015-11-22') ) AND (`日付` <= '2017-02-20') ) 連合 ( 選択 '30~39' は `年齢` です。 SUM(`印象`) AS 印象、 SUM(`クリック`) AS クリック、 sum(`cost`) AS コスト から `広告グループ年齢レポート` どこ ( ( ((`年齢` <= 39) AND(`年齢` >= 30)) AND (`adgroup_id` = '61') ) AND (`日付` >= '2015-11-22') ) AND (`日付` <= '2017-02-20') ) 連合 ( 選択 '40~49' は `年齢` です。 SUM(`印象`) AS 印象、 SUM(`クリック`) AS クリック、 sum(`cost`) AS コスト から `広告グループ年齢レポート` どこ ( ( ((`年齢` <= 49) AND(`年齢` >= 40)) AND (`adgroup_id` = '61') ) AND (`日付` >= '2015-11-22') ) AND (`日付` <= '2017-02-20') ) 連合 ( 選択 '50~59' は `年齢` です。 SUM(`印象`) AS 印象、 SUM(`クリック`) AS クリック、 sum(`cost`) AS コスト から `広告グループ年齢レポート` どこ ( ( ((`年齢` <= 59) AND(`年齢` >= 50)) AND (`adgroup_id` = '61') ) AND (`日付` >= '2015-11-22') ) AND (`日付` <= '2017-02-20') ) MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL 共通関数の概要」、「MySQL ログ操作スキル」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキル」、および「MySQL データベース ロック関連スキルの概要」 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
<<: Ubuntu インストール時にブラックスクリーンが表示される場合の解決策 (3 種類)
スロットとは何ですか?スロット ディレクティブは v-slot であり、現在 slot と slot...
プロジェクト中、プログレスバーを実装するために js の requestAnimationFrame...
目次1. 要素オフセットシリーズ2. 要素表示領域クライアントシリーズ3. 要素スクロールシリーズ1...
現在シミュレーションしているのは、マスター スレーブ システム (ホスト 1 台とスレーブ 1 台)...
この記事では、主に実際のアプリケーションでよく使用されるMySQLの時刻と日付、および変換関数につい...
私が長い間遭遇してきた問題を要約してみましょう。プロジェクトでは、フロントエンドをレンダリングするた...
序文Javaプログラミングでは、ほとんどのアプリケーションはMavenに基づいて構築されており、配信...
Vue に限定されず、他の種類の SPA プロジェクトにも当てはまる問題がいくつかあります。 1....
スワップ スペースは、オペレーティング システムに関係なく、今日のコンピューティングの一般的な側面で...
序文Oracle であれ MySQL であれ、新バージョンで導入された新機能は、一方では製品の機能性...
Vue でフォーム フィールドを記述および検証する方法は多数あります。このブログでは、より一般的に使...
最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...
目次序文原因現象なぜ?分析要約する序文今日は、非常に典型的な MySQL の「落とし穴」についてお話...
MySQL のインストールは、インストール バージョンと解凍バージョンに分かれています。インストール...