データベース | ORACLE | MySQL | PostgreSQL |
対応状況 | ○ | ○ | ○ |
2つの表の同じ名前の列が全て一致する行を返します。
構文
SELECT 列名 FROM 表名1 NATURAL JOIN 表名2;
テストに使用する表
mysql> select * from kozin;
+--------+-------------+-----------+--------+
| name | tell | school_no | friend |
+--------+-------------+-----------+--------+
| sasuke | 123-456-789 | 1 | akira |
| kouzi | 123-456-782 | 1 | akira |
| akira | 123-456-784 | 2 | sasuke |
+--------+-------------+-----------+--------+
mysql> SELECT * FROM school;
+-----------+------------------+
| school_no | school_name |
+-----------+------------------+
| 1 | ああいいうう学校 |
| 2 | おお~いい学校 |
+-----------+------------------+
この表を自然結合した結果です
mysql> SELECT * FROM kozin NATURAL JOIN school;
+--------+-------------+-----------+-----------+------------------+
| name | tell | school_no | school_no | school_name |
+--------+-------------+-----------+-----------+------------------+
| sasuke | 123-456-789 | 1 | 1 | ああいいうう学校 |
| kouzi | 123-456-782 | 1 | 1 | ああいいうう学校 |
| akira | 123-456-784 | 2 | 2 | おお~いい学校 |
+--------+-------------+-----------+-----------+------------------+