> 데이터 베이스 > MySQL 튜토리얼 > mysql에서 다중 테이블 쿼리를 수행하는 방법

mysql에서 다중 테이블 쿼리를 수행하는 방법

青灯夜游
풀어 주다: 2020-09-16 09:17:20
원래의
58395명이 탐색했습니다.

다중 테이블 쿼리를 위한 Mysql 방법: 1. 쿼리에 SELECT 절을 사용합니다. 2. 쿼리에 테이블 별칭을 사용합니다. 3. 내부 조인을 통해 쿼리합니다. 5. 다중 테이블을 통해 조인합니다.

mysql에서 다중 테이블 쿼리를 수행하는 방법

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
로그인 후 복사

참고: 위 코드에서는 두 테이블의 id 필드를 사용합니다. 두 테이블 간의 연관을 설정하기 위한 조건으로 동일한 정보가 사용되지만 실제 개발에서는 이를 사용하지 않아야 합니다. 이를 달성하려면 기본 및 외래 키 제약 조건을 사용하는 것이 가장 좋습니다.

2. 테이블 별칭을 사용하여 다중 수행 -table query

예:

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

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
로그인 후 복사

와 같이 AS 키워드를 통해 지정합니다. 테이블 이름 바로 뒤에 테이블 이름을 달성합니다

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
로그인 후 복사

테이블 별칭 사용 몇 가지 사항에 주의하세요

● (1 별칭은 일반적으로 단축된 테이블 이름으로, 테이블의 특정 열을 참조하는 데 사용됩니다. 연결에 동일한 이름의 열이 여러 테이블에 존재하는 경우 해당 테이블을 사용해야 합니다. 이름 또는 테이블 별칭은 열 이름을 제한합니다
● 테이블 별칭을 정의하면 더 이상 테이블 이름을 사용할 수 없습니다

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]')
로그인 후 복사

Inner 조인: 쿼리 결과를 WHERE 절로 사용합니다. 쿼리 조건을 내부 조인이라고 합니다.

SELECT filedlist FROM table1 [INNER] JOIN table2 ON table1.column1 = table2.column1
로그인 후 복사

그 중 filelist가 표시되는 필드이고, INNER는 테이블 간의 연결 방법이 내부 조인임을 나타냅니다. 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 표현식을 참조하며 하위 쿼리에는 특정 결과가 포함됩니다. 하위 쿼리 설정

다중 테이블 중첩 쿼리의 원리: 테이블이 몇 개 중첩되더라도 테이블 간에는 일정한 관계가 있어야 합니다. . 이 관계는 쿼리를 구현하기 위해 WHERE 절을 통해 설정됩니다

5. 다중 테이블 통합 쿼리

SQL 문에서 UNION을 사용하여 동일한 열의 다른 테이블에 정규화된 데이터 정보를 표시합니다. UNION 사용 시 다음 두 가지 사항에 주의해야 합니다.

● 사용 시 UNION 연산자로 결합된 명령문에서는 열 이름, 산술 표현식, 집계 등 모든 선택 목록의 표현식 개수가 동일해야 합니다. 각 쿼리 테이블에서 해당 열의 데이터 구조는 동일해야 합니다.

6. , 복잡한 내부 조인 쿼리

복잡한 내부 조인 쿼리는 기본 내부 조인 쿼리를 기반으로 몇 가지 쿼리 조건을 추가합니다. 예:

SELECT * FROM tb_demo074_student UNION SELECT * FROM tb_demo074_fasten
로그인 후 복사
간단히 말하면, 테이블 간의 연관을 구현하는 본질은 두 테이블 사이에 있습니다. 두 테이블 사이에 공통 데이터 항목이 있거나 동일한 데이터 항목이 있는 경우 두 테이블은 WHERE 절 또는 INNER 절을 통해 연결될 수 있습니다. JOIN ... ON 문을 사용하여 쿼리를 구현합니다.

위 내용은 mysql에서 다중 테이블 쿼리를 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿