본문 바로가기

Database/DB이론5

[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] SUM, MAX, MIN 정리 1. 최대, 최소 데이터 출력하기 집계 함수를 사용하지 않고 최대 또는 최소를 구하기 위해선 정렬한 값의 1개의 데이터만 출력하는 형태로 SQL문을 아래와 같이 구상해왔다. SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1; 하지만 이를 집계 함수 MAX(), MIN()를 사용하게 되면 아래와 같이 간단하게 사용할 수 있다. 2. 1. MAX() SELECT MAX(DATETIME) AS "시간" FROM ANIMAL_INS 2. 1. MIN() SELECT MIN(DATETIME) AS "시간" FROM ANIMAL_INS 2. 출력 컬럼 수 세기 COUNT(), AVG(), SUM() SELECT COUNT(ANIMAL_ID) FROM A.. 2021. 11. 23.
[SQL] SELECT문 ORDER BY 정리 1. 오름차순 정렬하기 SELECT * from ANIMAL_INS order by ANIMAL_ID; SELECT ANIMAL_ID, NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC; 2. 내림차순 정렬하기 SELECT NAME, DATETIME from ANIMAL_INS order by ANIMAL_ID DESC; 3. 다중 기준 정렬하기 SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME ASC, DATETIME DESC; 4. 조건 걸기 SELECT ANIMAL_ID, NAME from ANIMAL_INS where INTAKE_CONDITION = "Sick"; SELECT ANIMAL_ID, NAME .. 2021. 11. 23.