본문 바로가기

SQL6

JOIN(INNER, LEFT) 기초 데이터베이스에서 사용되는 조인은 테이블간의 결합을 의미한다. - INNER JOIN 이너조인은 결합하려는 두 테이블 간의 공통 요소를 통해 결합하는 방식으로 가장 일반적으로 사용되는 조인이다. 이너조인의 기본적인 형태는 다음과 같이 작성된다. SELECT table1.col1, table1.col2, ..., table2.col1, table2.col2, ... FROM table1 t1 INNER JOIN table2 t2 ON t1.col1 = t2.col2 위 쿼리에서 t1, t2로 작성된 각 테이블의 별칭은 SELECT절 뿐만 아니라 이후 사용되는 구절에서 table1, table2와 같은 정식 명칭을 대체하여 사용할 수 있습니다. 이너조인은 공통 요소를 통해 결합하는 방식이므로, ON 에 기준이.. 2023. 3. 21.
데이터 구조 SQL 카테고리의 포스팅에서 사용하는 데이터베이스 테이블의 구조를 정리하였다. - checkins 각 유저가 신청한 과목의 주차별 체크인 정보 컬럼명 데이터 타입 설명 checkin_id varchar(255) 체크인 id create_at timestamp id 생성 시간 updated_at timestamp 최근 업데이트 시간 course_id varchar(255) 수강 과목 id user_id varchar(255) 유저 id week int(11) 강의 주차 comment varchar(255) 강의 시작 전 오늘의 다짐 likes int(11) 작성된 오늘의 다짐에 대한 추천수 - courses 개설 강좌에 대한 정보 컬럼명 데이터 타입 설명 course_id varchar(255) 개설 강의.. 2023. 3. 21.
GROUP BY, ORDER BY 기초 및 집계함수 앞선 포스팅에 이어서 SELECT문을 기반으로 한 데이터의 집계, 정렬 및 간단한 연산 함수들에 대해 정리한다. - GROUP BY users 테이블에는 다양한 성을 가진 유저들의 정보가 저장되어 있다. 만약 데이터베이스에 등록된 유저들의 성이 궁금할 경우 어떻게 처리할 수 있을까? SELECT * FROM users; DISTINCT를 활용해 중복을 제거하여 각각의 성씨를 확인할 수도 있겠지만, 이 방법은 각 성씨를 가진 유저의 명수를 계산하는 등의 후처리가 어렵다. 이 때 테이블에서 특정 그룹을 만들어 묶어주는 것이 바로 GROUP BY 이다. SELECT * FROM users GROUP BY name; 중복제거(DISTINCT)와 그룹화(GROUP BY)의 차이점을 살펴보기 위해 각 성씨를 가진 .. 2023. 3. 21.
WHERE문 기초 앞서 SELECT문을 통해 데이터를 조회하는 방법에 대해 포스팅하였다. 이번에는 SELECT문에 WHERE절을 추가하여 특정 조건에 부합하는 데이터만 조회하는 방법에 대해 정리한다. - WHERE 우선 SELECT문을 통해 users 테이블의 모든 데이터를 조회한다. SELECT * FROM users; 만약 모든 데이터를 조회하고 싶은 것이 아니라, 성이 '이'씨인 데이터에 대해서만 조회하고 싶을 경우 특정 조건에 부합하는 데이터만 조회하도록 WHERE 절을 통해 처리할 수 있다. SELECT * FROM users WHERE name = '이**'; WHERE절에서 사용되는 기본적인 연산자는 대소를 비교할 때 사용되는 [>, =, = 10000; - 논리연산자 (AND, OR) 앞서 비교연산자를 활용.. 2023. 3. 20.