この記事では、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 種類)
序文多くの場合、ユーザーが自分のデータに対して実行する操作に基づいて何かを行う必要があります。たとえ...
XHTML 言語では、ul タグに li が含まれ、dl タグに dt と dd が含まれることは誰...
テスト サーバーにログインするたびに、必ず ssh ログインのパスワードを入力する必要があります。ロ...
クエリキャッシュ1. クエリキャッシュの動作原理クエリ ステートメントを実行する前に、MySQL は...
効果 HTML を実装するには、まずクリーンな HTML ページを準備し、ノードを記述します。 &l...
1. 引き続き PHP スクリプトを使用して実行します。コマンドラインに入力: php /home/...
データ整合性は、エンティティ整合性、ドメイン整合性、参照整合性に分けられます。参照整合性:参照整合性...
免責事項:このパスワード リセット方法は、Homebrew によってインストールされた MySQL ...
この記事では、MySQL で 2 つのテーブルを関連付ける結合テーブルにインデックスを作成する方法を...
目次ネットワーク構成を表示するネットワークインターフェース情報を表示する---ifconfigルーテ...
目次1. 環境整備2. データの準備3. ショーを始める4. 単語分割エンジン要約する参考文献1. ...
目次開発環境ゲームエンジンのコンセプトCocos Creatorについてプロジェクト構造コード編集環...
1. レビューMySQL の起動後にバッファ プールが初期化されます。バッファ プールは N 個の空...
1. 背景多くのブログや記事を読みましたが、JVM のメモリ割り当て方法に関する包括的な記事は見つか...
輸入:プロジェクトの要件により、同じコードの一部をコンポーネントにカプセル化し、必要な場所にインポー...