はじめに
前回、phpMyAdminでWordPressのデータが入っているテーブルに新たにテーブルを追加し、SQLでデータを取得した。
【WordPress】自作テーブルを追加してデータ管理をしてみる
復習
[php] <?php$results = $wpdb->get_results("
SELECT
name
FROM
$wpdb->items
");
foreach ($results as $value) {
print(‘<li>’.$value->name.'</li>’);
}
?>
[/php]
INNER JOINを使い複数テーブルを内部結合する
$wpdbの箇所以外は単純なSQL。
[php]
<?php
$results = $wpdb->get_results("
SELECT *
FROM $wpdb->table_a
INNER JOIN $wpdb->table_b
ON $wpdb->table_a.code = $wpdb->table_b.code
WHERE $wpdb->table_b.type = 2
");
foreach ($results as $value) {
print(‘<li>「’.$value->name."」".$value->code.'</li>’);
}
?>
[/php]
上記ではtable_aとtable_bのコードをJOINし、table_bのタイプが2のものをSELECTする。
同じSQLを簡略化すると以下のようにも書くことができる
$results = $wpdb->get_results("
SELECT *
FROM $wpdb->table_a
INNER JOIN $wpdb->table_b b
USING(code)
WHERE b.type = 2
");
foreach ($results as $value) {
print(‘<li>「’.$value->name."」".$value->code.'</li>’);
}
?>
[/php]
USING(○○)
…JOINするテーブルのカラムが共通の名前の場合に使用できる
…JOINするテーブルのカラムが共通の名前の場合に使用できる
テーブル名 AS 略名
…エイリアス名をつけ長いテーブル名を簡略化できる。
ASは省略可。