[SQL] SQL 내부는 두 개 이상의 테이블을 조인
SQLSQL 내부는 두 개 이상의 테이블을 조인
저는 현재는 다음과 같은 방법으로 외국 / 기본 키의 평등에 두 개의 테이블을 조인 쿼리 할 수 있습니다.
$result = mysql_query("SELECT * FROM `table1`
INNER JOIN
`table2` ON table1.primaryKey=table2.table1Id");
여러 개의 테이블 (같은 외래 키를 가진 모든)이 연장하고 싶습니다. 난 아무것도 반환하지 않습니다 다음 코드를하려합니다. 내가 잘못하고 있어요 어떤 사람이 포인트 아웃 할 수 있습니까?
$result = mysql_query("SELECT * FROM `table1`
INNER JOIN `table2`
INNER JOIN table3
ON table1.primaryKey=table2.table1Id=table3.table1Id");
해결법
-
==============================
1.
SELECT * FROM table1 INNER JOIN table2 ON table1.primaryKey=table2.table1Id INNER JOIN table3 ON table1.primaryKey=table3.table1Id
-
==============================
2.여기에 세 개 이상의 테이블을 조인하는 일반적인 SQL 쿼리 구문입니다. 이 SQL 쿼리는 예를 들어, 모든 주요 관계 데이터베이스에서 작동합니다 MySQL은, 오라클, 마이크로 소프트의 SQLServer, 사이베이스과 PostgreSQL :
여기에 세 개 이상의 테이블을 조인하는 일반적인 SQL 쿼리 구문입니다. 이 SQL 쿼리는 예를 들어, 모든 주요 관계 데이터베이스에서 작동합니다 MySQL은, 오라클, 마이크로 소프트의 SQLServer, 사이베이스과 PostgreSQL :
SELECT t1.col, t3.col FROM table1 join table2 ON table1.primarykey = table2.foreignkey join table3 ON table2.primarykey = table3.foreignkey
우리는 먼저 표 3에 가입 표 1과 표 2에서 결합 된 데이터와 임시 테이블을 생성 표 1과 표 2를 가입 할 수 있습니다. 이 공식은 N 테이블에 3 개 이상의 테이블을 연장 할 수있다, 당신은 확실히 SQL 쿼리는 N-1은 N 개의 테이블을 조인하기 위해 문을 가입해야한다는 것을 확인해야합니다. 두 테이블을 조인에 대한처럼 우리는 하나가 문을 가입하고 우리가이 문에 가입해야 할 3 개 테이블을 조인에 필요한.
-
==============================
3.
SELECT eb.n_EmpId, em.s_EmpName, deg.s_DesignationName, dm.s_DeptName FROM tbl_EmployeeMaster em INNER JOIN tbl_DesignationMaster deg ON em.n_DesignationId=deg.n_DesignationId INNER JOIN tbl_DepartmentMaster dm ON dm.n_DeptId = em.n_DepartmentId INNER JOIN tbl_EmployeeBranch eb ON eb.n_BranchId = em.n_BranchId;
-
==============================
4.가능한 솔루션 :
가능한 솔루션 :
SELECT Company.Company_Id,Company.Company_Name, Invoice_Details.Invoice_No, Product_Details.Price FROM Company inner join Invoice_Details ON Company.Company_Id=Invoice_Details.Company_Id INNER JOIN Product_Details ON Invoice_Details.Invoice_No= Product_Details.Invoice_No WHERE Price='60000';
- 시험 변경
-
==============================
5.올바른 구문은 같다 :
올바른 구문은 같다 :
SELECT * FROM table1 INNER JOIN table2 ON table1.primaryKey = table2.ForeignKey INNER JOIN table3 ON table3.primaryKey = table2.ForeignKey
같은 테이블 1 테이블 3에 합류 마지막 줄 :
ON table3.ForeignKey= table1.PrimaryKey
-
==============================
6.
select * from Employee inner join [Order] On Employee.Employee_id=[Order].Employee_id inner join Book On Book.Book_id=[Order].Book_id inner join Book_Author On Book_Author.Book_id=Book.Book_id inner join Author On Book_Author.Author_id=Author.Author_id;
-
==============================
7.찾아주세요 내부는 여기에 2 개 이상의 테이블 조인
찾아주세요 내부는 여기에 2 개 이상의 테이블 조인
여기에 4 테이블 이름 등이있다
그래서에게 SQL 코드는 다음과 같습니다
select o.orderid, c.customername, l.lname, s.studadd, s.studmarks from orders o inner join customers c on o.customrid = c.customerid inner join lecturer l on o.customrid = l.id inner join student s on o.customrid=s.studmarks;
-
==============================
8.당신의 필요에 맞게 수정, 아래에 주어진이 방법을 시도해보십시오.
당신의 필요에 맞게 수정, 아래에 주어진이 방법을 시도해보십시오.
SELECT employment_status.staff_type, COUNT(monthly_pay_register.age), monthly_pay_register.BASIC_SALARY, monthly_pay_register.TOTAL_MONTHLY_ALLOWANCES, monthly_pay_register.MONTHLY_GROSS, monthly_pay_register.TOTAL_MONTHLY_DEDUCTIONS, monthly_pay_register.MONTHLY_PAY FROM (monthly_pay_register INNER JOIN deduction_logs ON monthly_pay_register.employee_info_employee_no = deduction_logs.employee_no) INNER JOIN employment_status ON deduction_logs.employee_no = employment_status.employee_no WHERE monthly_pay_register.`YEAR`=2017 and monthly_pay_register.`MONTH`='may'
-
==============================
9.
select WucsName as WUCS_Name,Year,Tot_Households,Tot_Households,Tot_Male_Farmers from tbl_Gender INNER JOIN tblWUCS ON tbl_Gender.WUCS_id =tblWUCS .WucsId INNER JOIN tblYear ON tbl_Gender.YearID=tblYear.yearID
3 개 테이블이 있습니다 1. tbl_Gender 2. tblWUCS 3. tblYear
-
==============================
10.
SELECT table1 .columnName, table3 .columnName FROM table1 inner join table2 ON table1.primarykey = table2.foreignkey inner join table3 ON table2.primarykey = table3.foreignkey
예를 들어 : 선택 SalesHeader.invoiceDate, ActualSales, DEPTNAME, tblInvDepartment.DeptCode에 SalesDetail 내부에 참여 SalesHeader에서 LocationCode SalesDetail.InvoiceNo = SalesHeader.InvoiceNo 내부에 tblInvDepartment 가입 tblInvDepartment.DeptCode = SalesDetail.DeptCode
from https://stackoverflow.com/questions/14995000/sql-inner-join-more-than-two-tables by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 집계 함수를 WHERE 절 (0) | 2020.05.09 |
---|---|
[SQL] SQL 시간 간격 중복으로 행을 찾을 수있는 간단하고 효율적인 방법은 무엇입니까? (0) | 2020.05.09 |
[SQL] PostgreSQL의 : psql의 명령 행 유틸리티를 사용하는 경우 Windows에서 문제를 인코딩 (0) | 2020.05.08 |
[SQL] 파일 시스템 대 데이터베이스의 이미지 (0) | 2020.05.08 |
[SQL] SQL 스크립트는 잘못된 이메일 주소를 찾을 수 (0) | 2020.05.08 |