複数のテーブルのデータを使用した新しいテーブルの作成
MySQL では、効率的な JOIN 操作を利用して、複数のテーブルのデータを 1 つのテーブルにマージできます。一体感のある単一のテーブル。これは、既存のデータ ソースから関連する列を組み合わせて新しいパースペクティブを作成する場合に特に便利です。
質問で説明されているように、人、分類、詳細という 3 つのテーブルがあるシナリオを考えてみましょう。これら 3 つのテーブルから選択した列とデータを含む新しいテーブルを作成するには、次の手順に従います。
JOIN クエリを使用して、一致する列値に基づいて 3 つのテーブルからデータを取得します。たとえば、年齢に関連するデータを取得するには、次のクエリを使用して詳細と分類を使用して人々を結合できます:
SELECT p.*, d.content AS age FROM people AS p JOIN details AS d ON d.person_id = p.id JOIN taxonomy AS t ON t.id = d.detail_id WHERE t.taxonomy = 'age'
必要なデータを取得したら、新しいテーブルを作成し、取得したデータを挿入できます。 INSERT INTO ステートメントを使用します:
INSERT INTO new_table (id, last_name, first_name, email, age) /* Insert the selected data from the JOIN query */
または、CREATE TABLE AS ステートメントを使用して、指定された列を含む新しいテーブルを作成し、挿入することもできます。データを同時に:
CREATE TABLE new_table AS /* Select data from the JOIN query and define the new table schema */
新しいテーブルに複数の属性を含める必要がある場合は、JOIN クエリを拡張して追加の詳細と分類テーブルを含めることができます。たとえば、性別と身長の属性を含めるには、次のようにします。
CREATE TABLE new_table AS SELECT p.*, d1.content AS age, d2.content AS gender, d3.content AS height /* JOIN operations for each attribute */
JOIN 操作を利用すると、別々のテーブルのデータを効率的に組み合わせることができ、カスタム パースペクティブを作成し、データベースから有意義な洞察を引き出すことができます。
以上がJOIN 操作を使用して複数の既存のテーブルのデータを結合して新しい MySQL テーブルを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。