MySQL의 스트레이트 조인은 내부 조인 또는 조인처럼 작동합니다. 즉, 일치하는 행만 반환합니다. 먼저 MySQL의 Straight 조인을 이해해야 합니다. 이를 위해 두 개의 테이블을 만들고 외래 키 제약 조건으로 두 테이블을 연결해야 합니다.
다음은 첫 번째 테이블입니다.
mysql> CREATE table ForeignTableDemo -> ( -> Id int, -> Name varchar(100), -> FK int -> ); Query OK, 0 rows affected (0.47 sec)
다음은 두 번째 테이블입니다 -
mysql> CREATE table PrimaryTableDemo -> ( -> FK int, -> Address varchar(100), -> primary key(FK) -> ); Query OK, 0 rows affected (0.47 sec)
그 후, 우리는 제약 조건을 추가할 것입니다 -
mysql> ALTER table ForeignTableDemo add constraint FKConst foreign key(FK) references PrimaryTableDemo(FK); Query OK, 0 rows affected (1.54 sec) Records: 0 Duplicates: 0 Warnings: 0
이제 두 번째 테이블에 레코드를 추가하십시오 -
mysql> INSERT into PrimaryTableDemo values(1,'US'); Query OK, 1 row affected (0.10 sec) mysql> INSERT into PrimaryTableDemo values(2,'UK'); Query OK, 1 row affected (0.14 sec) mysql> INSERT into PrimaryTableDemo values(3,'Unknown'); Query OK, 1 row affected (0.08 sec)
기록 표시
mysql> SELECT * from PrimaryTableDemo;
다음은 출력입니다 -
+----+---------+ | FK | Address | +----+---------+ | 1 | US | | 2 | UK | | 3 | Unknown | +----+---------+ 3 rows in set (0.00 sec)
이제 첫 번째 테이블에 레코드를 추가합니다.
mysql> INSERT into ForeignTableDemo values (1,'John',1); Query OK, 1 row affected (0.20 sec) mysql> INSERT into ForeignTableDemo values (2,'Bob',2); Query OK, 1 row affected (0.27 sec)
SELECT 문을 사용하여 모든 레코드 표시 -
mysql> SELECT * from ForeignTableDemo;
다음은 출력입니다.
+------+------+------+ | Id | Name | FK | +------+------+------+ | 1 | John | 1 | | 2 | Bob | 2 | +------+------+------+ 2 rows in set (0.00 sec)
일치하는 행만 표시하는 직선 조인에 대한 쿼리는 다음과 같습니다. -
mysql>SELECT ForeignTableDemo.Id, ForeignTableDemo.Name, PrimaryTableDemo.Address -> from ForeignTableDemo -> Straight_join PrimaryTableDemo -> on ForeignTableDemo.FK=PrimaryTableDemo.FK;
다음은 출력입니다 -
+------+------+---------+ | Id | Name | Address | +------+------+---------+ | 1 | John | US | | 2 | Bob | UK | +------+------+---------+ 2 rows in set (0.00 sec)