複数テーブル クエリの Mysql メソッド: 1. SELECT 句を使用してクエリを実行する; 2. テーブルのエイリアスを使用してクエリを実行する; 3. 内部結合を使用してクエリを実行する; 4. ネストを使用してクエリを実行する; 5. クエリを実行する複数のテーブル結合を通じて。
#MySQL で複数テーブルのクエリを実行するにはどうすればよいですか?次の記事では、複数テーブルのクエリを実行するための MySQL メソッドをいくつか紹介します。
(推奨チュートリアル: mysql ビデオ チュートリアル )
1. 複数テーブル クエリに SELECT 句を使用する
SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件
例:
SELECT a.id,a.name,a.address,a.date,b.math,b.english,b.chinese FROM tb_demo065_tel AS b,tb_demo065 AS a WHERE a.id=b.id
注: 上記のコードでは、2 つのテーブルの id フィールド情報が同じであるという条件に基づいて 2 つのテーブル間の関連付けが確立されていますが、この方法で使用するべきではありません。実際の開発では、主キー制約と外部キー制約を使用するのが最善です。実現するには
2. 複数テーブルのクエリにはテーブル エイリアスを使用します。
例:
SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 a,tb_demo065_tel b WHERE a.id=b.id AND b.id='$_POST[textid]'
SQL 言語では、テーブルの別名を指定する方法:
1 の 2 つを使用できます。
SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 AS a,tb_demo065_tel AS b WHERE a.id=b.id
#
SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 a,tb_demo065_tel b WHERE a.id=b.id
# で修飾する必要があります。テーブルエイリアスが定義されている場合、テーブル名は使用できません。
3. 単純なネストクエリ (サブクエリ、内部結合)
サブクエリ: サブクエリは SELECT クエリです。単一の値を返し、SELECT、INSERT、UPDATE、DELETE ステートメントまたはその他のクエリ ステートメントにネストされています。式が使用されている場所であればどこでもサブクエリを使用できます。例:
SELECT id,name,sex,date FROM tb_demo068 WHERE id in(SELECT id FROM tb_demo068 WHERE id='$_POST[test]')
SELECT filedlist FROM table1 [INNER] JOIN table2 ON table1.column1 = table2.column1
SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id
4. 複雑な埋め込みネストされたクエリ
複数のテーブル間のネストされたクエリは、述語 IN によって実現できます。構文形式は次のとおりです。
test_expression[NOT] IN{ subquery }
パラメータの説明: test_expression は SQL 式を指し、サブクエリには特定の結果セットのサブクエリが含まれます。
5. 複数テーブルの結合クエリ
SQL ステートメントで UNION を使用すると、異なるテーブルの修飾されたデータ情報を同じ列に表示できます。例:
SELECT * FROM tb_demo074_student UNION SELECT * FROM tb_demo074_fasten
UNION を使用する場合は、次の点に注意する必要があります。次の 2 点:
#● UNION 演算子を使用して結合されたステートメントでは、列名、算術式、集計関数など、すべての選択リスト内の式の数が同じである必要があります。
6. 複雑な内部結合クエリ
複雑な内部結合クエリは、基本的な内部結合クエリに基づいており、次のようなクエリ条件が追加されています。 以上がmysqlで複数テーブルクエリを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id WHERE b.id=(SELECT id FROM tb_demo065 WHERE tb_demo065.name='$_POST[text]')