>  기사  >  데이터 베이스  >  MySQL 및 PHP에서 테이블 연결을 사용하는 방법

MySQL 및 PHP에서 테이블 연결을 사용하는 방법

王林
王林앞으로
2023-05-29 14:13:131050검색

테이블 연결

연결 조건을 사용하여 여러 테이블을 연결하는 것이 테이블 연결(JOIN)입니다. 테이블 연결을 통해 여러 테이블 간의 데이터를 얻을 수 있습니다.

MySQL 및 PHP에서 테이블 연결을 사용하는 방법

테이블 연결 구문:

SELECT 테이블 이름 1. 열 이름 , 테이블 이름 2. 열 이름 FROM Table 1, Table 2 WHERE 조건

테이블을 조인하는 여러 가지 방법:

내부 조인: 조인 또는 내부 조인

자체 조인: 동일한 테이블 내에서 조인

외부 조인:

  • 왼쪽 외부 조인, 왼쪽 조인

  • 오른쪽 외부 조인, 오른쪽 조인

  • 전체 외부 조인, 전체 조인

data (table1):

MySQL 및 PHP에서 테이블 연결을 사용하는 방법

data( table2):

MySQL 및 PHP에서 테이블 연결을 사용하는 방법

Inner Join

Inner Join은 조인된 다른 테이블과 일치하지 않는 모든 행을 결과 테이블에서 삭제하는 것입니다. (Intersection)

Format:

SELECT A.c1, B.c2 FROM A JOIN B ON A .c3 = B.c3

예:

<?php

$conn = mysqli_connect("localhost", "root","admin","study");

if ($conn) {
    echo "数据库链接成功\n";
} else {
    echo mysqli_connect_error();
}

# SQL语句
$SQL = "SELECT table1.name, table1.age, table2.class
        FROM table1 JOIN table2
        ON table1.name = table2.name";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 调试输出
while ($line = mysqli_fetch_assoc($result)) {
    print_r($line);
}

# 关闭连接
mysqli_close($conn);

?>

출력 결과:

데이터베이스 링크 성공
SQL 문이 성공적으로 실행되었습니다!
Array
(
[name] => Yang Fugui
[ age] => 18
[class] => 수학 수업
)
Array
(
[name] => Yang Meili
[age] => 19
[class] => 중국어 수업
)
Array
(
[name ] => Yang Jianguo
[age] => 20
[class] => 영어 수업
)

Left Join

테이블의 모든 행을 포함합니다(올바른 테이블이 있는지 여부와 일치하는 행에 관계 없음). ) 및 오른쪽 테이블의 일치하는 모든 행

SELECT A.c1, B.c2 FROM A LEFT JOIN B ON A.c3 = B.c3

예:
<?php

$conn = mysqli_connect("localhost", "root","admin","study");

if ($conn) {
    echo "数据库链接成功\n";
} else {
    echo mysqli_connect_error();
}

# SQL语句
$SQL = "SELECT table1.name, table1.age, table2.class
        FROM table1 LEFT JOIN table2
        ON table1.name = table2.name";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 调试输出
while ($line = mysqli_fetch_assoc($result)) {
    print_r($line);
}

# 关闭连接
mysqli_close($conn);

?>

출력 결과:

데이터베이스 링크 성공
SQL 문이 성공적으로 실행되었습니다!

Array
(
[name] => Yang Fugui
[age] => 18
[class] => 수학 수업
)
Array
(
[ 이름] => 양메이리
[나이] => 19
[클래스] => 중국어 수업
)
Array
(
[이름] => 양젠궈
[나이] => 20
[클래스 ] => 영어 수업
)
Array
(
[name] => Yang Tiezhu
[age] => 21
[class] =>
)

right Join

은 올바른 테이블을 포함합니다. 행(왼쪽 테이블에 일치하는 행이 있는지 여부에 관계없이) 및 왼쪽 테이블에 일치하는 모든 행.

형식:

SELECT A.c1, B.c2 FROM A RIGHT JOIN B ON A.c3 = B .c3

예:
<?php

$conn = mysqli_connect("localhost", "root","admin","study");

if ($conn) {
    echo "数据库链接成功\n";
} else {
    echo mysqli_connect_error();
}

# SQL语句
$SQL = "SELECT table1.name, table1.age, table2.class
        FROM table1 RIGHT JOIN table2
        ON table1.name = table2.name";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 调试输出
while ($line = mysqli_fetch_assoc($result)) {
    print_r($line);
}

# 关闭连接
mysqli_close($conn);

?>

출력 결과:

데이터베이스 링크 성공
SQL 문이 성공적으로 실행되었습니다!

Array
(
[name] => Yang Fugui
[age] => 18
[class ] => 수학 수업
)
Array
(
[이름] => 양메이리
[나이] => 19
[수업] => 중국어 수업
)
Array
(
[이름] => ; 양젠궈
[나이] => 20
[클래스] => 영어 수업
)
Array
(
[이름] =>
[나이] =>
[클래스] => 역사 수업
)

완전 조인

왼쪽 및 오른쪽 테이블의 모든 행을 포함합니다(다른 테이블에 일치하는 행이 있는지 여부에 관계 없음).

형식:

SELECT A.c1, B.c2 FROM A LEFT JOIN B ON A.c3 = B.c3
UNION

SELECT A.c1, B.c2 FROM A RIGHT JOIN B ON A.c3 = B.c3

예:
<?php

$conn = mysqli_connect("localhost", "root","admin","study");

if ($conn) {
    echo "数据库链接成功\n";
} else {
    echo mysqli_connect_error();
}

# SQL语句
$SQL = "SELECT table1.name, table1.age, table2.class
        FROM table1 LEFT JOIN table2 ON table1.name = table2.name
        UNION 
        SELECT table1.name, table1.age, table2.class
        FROM table1 RIGHT JOIN table2 ON table1.name = table2.name";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 调试输出
while ($line = mysqli_fetch_assoc($result)) {
    print_r($line);
}

# 关闭连接
mysqli_close($conn);

?>

출력 결과:

데이터베이스 링크 성공
SQL 문이 성공적으로 실행되었습니다!

Array
(
[name] => Yang Fugui
[age] => 18
[class] => 수학 수업
)
Array
(
[name] => Yang Beautiful
[나이] => 19
[클래스] => 중국어 수업
)
Array
(
[이름] => Yang Jianguo
[나이] => 20
[클래스] => 영어 수업
)
Array
(
[이름] => Yang Tiezhu
[나이] => 21
[클래스] =>
)
Array
(
[이름] =>
[나이] =>
[수업] => 역사수업
)

위 내용은 MySQL 및 PHP에서 테이블 연결을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제