다른 답변이 제대로 누락 된 from
키워드와 group by
및 order by
조항의 순서가 잘못을 지적했다. 거기에있는 조언을 따르는 것에는 아무런 문제가 없어야합니다.
다른 하나는 테이블을 조인하는 데 사용하는 구문입니다. 기술적으로 실수는 아니지만 오래된 것으로 간주됩니다. 새로운 표준은 조인을위한 전용 키워드를 제공합니다. 이전의 표준에 따라 이전에는 하나의 절인 WHERE
절에서 혼합되어야하는 값별 필터링 논리에서 조인 논리를 분리 할 수 있습니다.
FROM
및 WHERE
절을 다시 작성하여 보여 주므로 차이점을 확인할 수 있습니다. WHERE
절에
FROM serialNumber_tbl AS sn,
Entitlement_tbl AS ent,
Company_tbl AS c
WHERE sn.serialNumberId = ent.serialNumberId
AND c.companyId = sn.companyId
두 조건이 모두 조인 조건은 다음과 같습니다 첫째, 여기에 현재 가입 로직 구현입니다. 여기에 동일한 코드 조각이 새로운 구문을 수행 변경할 때 방법은 다음과 같습니다
FROM serialNumber_tbl AS sn
INNER JOIN Entitlement_tbl AS ent ON sn.serialNumberId = ent.serialNumberId
INNER JOIN Company_tbl AS c ON c.companyId = sn.companyId
WHERE
절은 물론, 완전히 사라지고이 경우,하지만 당신은 항상 그런 있다는 잘못된 인상을하지 말았어야 . 일반적으로 WHERE
절은 유효하고 유용합니다. 합류 논리에 속하지 않은 다른 조건이 포함되어 있다면 그들은 WHERE
절에 해당 위치를 유지합니다. 나는 ent.Date < '19900101' AND c.CompanyName NOT IN ('IBM', 'Microsoft')
과 같은 조건에 대해 이야기하고 있습니다.
앞에서 말했듯이, 현재 사용중인 이전 구문의 경우 조건은 조인 조건이있는 하나의 절이됩니다. 더 간단한 경우에는 문제없이 간과 할 수 있지만 복잡한 쿼리에서는 유지 관리 측면에서 악몽이 아니라해도 문제가 될 수 있습니다. 따라서 복잡한 쿼리를 작성하기 전에 최신 구문에 익숙해지는 것이 중요합니다.
고마워요! 나는 새로운 것을 배웠다 =) – Donut