반응형 SQL4 [SQL] SQL 실행 순서에 대해서 SQL 쿼리를 작성할 때 아무 생각 없이 짜다가 문득 실행 순서에 대해 어떻게 되는지 궁금해졌다. SQL 쿼리가 실행될 때는 작성한 순서대로가 아니라 내부적으로 정해진 순서에 따라 처리된다.가장 일반적인 실행 순서는 아래와 같다 SELECT ... FROM ... JOIN ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT ...; 실제 실행 순서FROM테이블을 선택하고 원시 데이터를 가져온다.JOIN이 있다면 JOIN 조건에 따라 테이블 결합WHERE조건에 따라 행(Row) 필터링GROUP BY 전에 실행되므로 집계(Aggregation)에 영향을 줌GROUP BY같은 값끼리 그룹화집계 함수 (SUM,AVG,COUNT 등)가 사용될 때만 필요Having.. 2025. 2. 18. [DataBase] 관계형 데이터 베이스 관계형 데이터 베이스 (Relational Database) 관계형 데이터 베이스는 데이터를 테이블 형식으로 관리하는 데이터베이스 시스템이다. 각각의 테이블은 행과 열로 구성되며 행은 개별 데이터를, 열은 데이터의 속성을 나타낸다. 명칭을 정리하자면 - 테이블 (Table) : 데이터를 행과 열로 구성하여 저장하는 구조. 예를 들어 사용자의 정보를 저장하는 User 테이블이 있을 수 있음 - 행 (Row) : 테이블 내의 각 레코드(Record)를 나타낸다. 예를 들어 사용자 정보가 한 행이 된다. - 열 (Column) : 테이블 내의 데이터 속성을 나타낸다. 예를 들어 User 테이블에서 고객의 이름을 저장하는 name 열과 고객의 전화번호를 저장하는 phone 열이 있을 수 있다. - 기본 키 :.. 2024. 8. 6. [SQL] SQL 특정 문자 제거하기 한창 회사에서 개발 중에 계좌번호를 입력했을 때 ' - ' 표시가 있어 중복으로 계좌번호가 입력되는 현상이 있어 수정 요청이 들어왔다. 1333-3333과 13333333은 같은 계좌인데 중복 등록 된다는 것. 그래서 데이터를 디비에 저장할 때 체크하는 과정을 거쳐야 했다. 쿼리 문에서 특정 문자를 제거 하여 체크하도록 하였다. 먼저 입력 받은 데이터에도 ' - ' 표시를 제거 했다. 그리고 데이터베이스에서 해당 계좌번호가 있는지 확인을 하는 쿼리를 날려야 하는데 이 때 where 조건에 함수를 추가해 ' - '를 없애게 했다. 이렇게 쿼리를 주게 되면 '-' 표시가 ''로 바뀌게 되어 공백 없이 숫자로만 조건을 걸 수 있다. 2023. 9. 20. [DataBase]inner join과 left join의 차이 지금까지 개발을 하면서 제일 많이 썼던 JOIN 방식 중 두개의 차이를 알아보고자 한다. 보통 JOIN 연산의 경우 데이터를 가지기 위해 테이블을 합치는 경우가 많은데 이 때 inner join과 left join을 많이 쓰게 된다. 이 두가지 방식의 차이점을 알아보자. 예시를 위해 개발하고 있는 프로젝트의 게시판 테이블과 게시판 댓글 테이블을 사용해 예시를 들겠다. 게시판 테이블의 행은 106개이고 댓글 테이블의 행은 52개이다. LEFT JOIN left join은 outer join의 일종이다. 여기서 중요한건 outer join은 합집합을 의미한다는 것이다. 따라서 왼쪽에 있는 테이블의 모든 행을 조회하게 된다. 쿼리를 이렇게 날리게 되면 왼쪽에 있는 테이블인 board 테이블의 모든 행을 다 조.. 2023. 5. 12. 이전 1 다음 반응형