본문 바로가기

Database9

[SQL] 현재 기준 관계있는 바로 전후 행 찾기 # 이후글 SELECT min(r.index) FROM report_board as r WHERE r.index > %s # 이전글 SELECT max(r.index) FROM report_board as r WHERE r.index < %s 2023. 8. 21.
[SQL] OUTER JOIN의 (+) 기호란 OUTER JOIN은 조인 조건을 만족하지 않는 행까지 함께 출력할 때 사용됩니다. OUTER JOIN을 더 세부적으로 나누면 1. LEFT OUTER JOIN 2. RIGHT OUTER JOIN 3. FULL OUTER JOIN으로 나눌 수 있습니다. 이 내용은 다른 포스팅에서 다뤄보도록 하고, 이 포스팅에서는 OUTER JOIN 기호 '(+)'를 사용해서 OUTER JOIN을 해보겠습니다. OUTER JOIN 시 활용되는 '(+)' '(+)' 기호의 위치의 반대쪽 테이블이 OUTER JOIN의 기준이 되는 테이블입니다. 예를 들어서 WHERE A.ID = B.ID (+) 라는 구문이 있다면 A 테이블이 OUTER JOIN의 기준이 되는 테이블입니다. A 테이블은 모든 데이터가 출력되고, B 테이블은 .. 2022. 3. 11.
[SQL] JOIN정리 - INNER JOIN, OUTER JOIN, CROSS JOIN, FULL JOIN 일반적으로 관계형 데이터베이스란 키(Key)와 값(Value)들의 관계를 테이블화 시킨 간단한 원칙의 데이터베이스를 말한다. 이때 A 테이블과 B 테이블에 있는 정보들을 함께 출력하고 싶다면 어떻게 해야할까 ? 두 개의 테이블을 이어서 원하는 결과를 출력해야 할 것이다. 이 때 필요한것이 JOIN이다. 조인(JOIN) ? 두 개 이상의 테이블을 곱한 결과 집합 이라고 간단히 MSDN에 정의되어있다. JOIN에는 INNER JOIN과 OUTER JOIN 그리고 CROSS JOIN 이렇게 세가지 종류가 있으며, 실무에서는 대부분 INNER JOIN과 LEFT OUTER JOIN을 사용한다. 그림을 보며 하나씩 알아가 보자. 1. INNER JOIN 교집합의 결과를 출력해 준다고 생각해주면 쉽다. 그림과 같이.. 2022. 3. 11.
[SQL] Join(조인)의 종류와 특징 1. INNER JOIN 앞의 INNER은 생략 할 수 있기 때문에 우리가 가장 많이 사용하는 조인문이다. INNER JOIN의 포인트는 바로 "두 테이블의 관계가 있는 것만 조회"가 가능하다는 것이다. 한 테이블에만 있는 정보에 대해서는 두 테이블을 합하지 않는다. 즉, 한 쪽이 NULL인 JOIN이 이루어질 때 해당 데이터는 무시한다는 것이다. INNER JOIN 또는 JOIN(INNER 생략 가능)의 상황의 예시를 살펴보자. 프로그래머스의 있었는데요 없었습니다 문제가 있다. 문제 상황은 아래의 게시글를 참조하면 된다. https://ratataca.tistory.com/105 [프로그래머스] JOIN > 있었는데요 없었습니다. 문제 설명 조건 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의.. 2022. 3. 9.
[SQL] GROUP BY - 3 3. GROUP BY을 활용한 예제 - 2 3. 1. 동명 동물 수 찾기 위와 같은 테이블이 주어졌다. 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. 결과 2021. 11. 24.
[SQL] GROUP BY - 2 2. GROUP BY을 활용한 예제 - 2 2. 2. 동명 동물 수 찾기 위와 같은 테이블이 주어졌다. 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회하라. 결과 SELECT NAME, COUNT(*) AS COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT > 1 AND NAME IS NOT NULL ORDER BY NAME 또는 SELECT NAME, COUNT(*) AS COUNT FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP BY NAME HAVING COUNT > 1 ORDER B.. 2021. 11. 23.