무엇보다도 조인에 대해 철저히 이해하십시오. 내부 및 왼쪽 조인 만이 아닙니다. 크로스 조인이 수행하는 작업과 전체 외부 조인을 확인하십시오. 특정 유형의 조인을 선택하게하는 상황을 알고 있어야합니다. 상호 교환 할 수 없으며 왼쪽 조인을 사용하는 쿼리는 내부 조인을 사용하는 쿼리와 다른 결과를 반환 할 수 있습니다. (그것은 명백 할 것이라고 생각할 것이지만 사람들이 문제를 설명하는 데있어서 무작위로 다른 조인을 시도하는 너무 많은 질문을 읽었습니다.)
다음으로 집계와 작동 방식을 실제로 이해합니다. Mysql을 사용하면 표준 방식으로 그룹 바이를하지 않아도됩니다. 그러나 그룹 별 조항을 올바르게 정의 할 수있는 원칙을 갖도록하십시오. 그것은 당신이하고있는 일을 이해하는 데 도움이되며 지식을 다른 데이터베이스로보다 쉽게 옮길 수있게합니다.
사례 진술이 무엇을하는지 배우십시오.
복잡한 쿼리를 수행 할 때 청크 작업을 배웁니다. 각 청크에서 예상 한 결과가 있는지 확인하십시오. 예를 들어, 지난 3 개월 동안 반품 된 주문과 반품 사유 및 고객의 연락처 정보에 대한보고 조회를 작성해야한다고 가정하십시오. 첫 단계는 지난 3 개월 동안 주문을 반품하는 것입니다. 당신이 그 확고한 것을 알고 있으면, 당신은 반환 이유에 대한 정보를 추가 할 수 있습니다. 해당 솔리드를 확보 한 후 반품 한 고객을 추가 할 수 있습니다. 당신이 그 고체를 가지고 있다면, 그 사람의 연락처 정보를 추가하십시오. 각 단계에서 결과를 확인하고 의미가 있는지 확인하십시오. 이 경우 아마도 반품 주문 당 하나의 레코드로 끝나기를 원할 것입니다. 중간 단계에서 결과 수가 증가하거나 감소하면 쿼리에 문제가있는 것입니다. 때때로 빌딩 블록에서 정보가 올바른지 확인하기 위해 추가 필드를보고 싶을 것입니다. 나는 이것들을 별도의 줄에 넣고 다음 단계를 진행하면서 주석을 달아서 (내가 옳은 것을 알면 끝에서 제거) 다른 주름을 추가하면 쿼리가 재밌어지면 쉽게 다시 볼 수 있습니다. 결과의 모양을 완전히 이해하지 않으면 복잡한 쿼리를 올바르게 수행 할 수 없습니다. 일부 결과를 반환했기 때문에 괜찮아 보인다고 생각하면 잘못된 결과가 시간의 대부분을 보장합니다. m 오른쪽) 따라서 다른 주름을 추가하면 검색어가 재미있어지면 쉽게 다시 볼 수 있습니다. 결과의 모양을 완전히 이해하지 않으면 복잡한 쿼리를 올바르게 수행 할 수 없습니다. 일부 결과를 반환했기 때문에 괜찮아 보인다고 생각하면 잘못된 결과가 시간의 대부분을 보장합니다. m)) 다른 주름을 추가하면 쿼리가 재미있게된다면 쉽게 다시 볼 수 있습니다. 결과의 모양을 완전히 이해하지 않으면 복잡한 쿼리를 올바르게 수행 할 수 없습니다. 일부 결과를 반환했기 때문에 괜찮아 보인다고 생각하면 잘못된 결과가 시간의 대부분을 보장합니다.
다음은 생각하지 않아도 SQL에서 수행 할 수있는 몇 가지 기본 사항 목록입니다.
- 먼저 조인이없고 (*가없는) 똑바로 위로 선택하십시오.
- 둘 이상의 테이블을 결합하고 모든 테이블에있는 레코드를 얻는 방법을 알아야합니다.
- 둘 이상의 테이블을 결합하고 모든 테이블에있는 레코드를 가져 오지만 일대 다 관계의 많은면에서 테이블에서 하나의 레코드 만 리턴하는 방법을 알아야합니다.
- 하나의 테이블에서 레코드를 가져올 수 있지만 연관된 테이블에서는 얻을 수 없어야합니다.
- 보고서에 대한 데이터를 집계 할 수 있어야합니다
- 하나의 레코드를 테이블에 삽입 할 수 있어야합니다
- 테이블에서 하나의 레코드를 업데이트 할 수 있어야합니다
- 테이블에서 하나의 레코드를 삭제할 수 있어야합니다
- 커서없이 테이블에 레코드 그룹을 삽입 할 수 있어야합니다.
- 커서없이 테이블에서 레코드 그룹을 업데이트 할 수 있어야합니다.
- 커서없이 테이블에서 레코드 그룹을 삭제할 수 있어야합니다.
- 하나의 트랜잭션에서 여러 작업을 수행하고 오류 트래핑을 처리 할 수 있어야합니다
- 레코드 통합을 생성하고 UNION vice UNION ALL 사용시기를 알아야합니다.
- CASE를 사용하여 일부 기준에 따라 한 필드의 데이터를 변경할 수 있어야합니다.
기본 SQL 지식에 익숙해지면 데이터베이스 구조를 익히십시오. 구조를 이해하고 물건이 저장된 위치를 생각할 필요가 없기 때문에 다른 사람들보다 훨씬 빠르게 지원하는 매우 복잡한 db에 대해 복잡한 쿼리를 작성할 수 있습니다. 테이블 구조와 외래 키 관계와 조회 값이 저장되는 위치 및 열의 의미 (이름뿐만 아니라 데이터가 보유되는 의미)를 이해하면 해당 데이터베이스를 쿼리하는 데 전문가가 될 수 있습니다. 새 작업에서 가장 먼저하는 일은 db 구조를 완전히 이해하는 것입니다.