본문 바로가기

집합

[SQL] SET 연산자에 대해서 알아보자, UNION(ALL)! 이글 보시기 전에 SET연산자에 관한 글 먼저 보시길 바랍니다. (밑의 링크를 누르시면 해당 페이지로 이동합니다.) SET연산자에 대해서 알아야할 사전지식 이미 윗글에서 UNION이 무엇인지는 설명을 했기 때문에 쿼리를 실행시키면서 결과를 볼텐데요. 자~ 우선 UNION이 쿼리문에서는 어떻게 쓰이는지 모양새를 봅시다. SELECT 컬럼 1, 컬럼 2 FROM 테이블 UNION(OR UNION ALL) SELECT 컬럼 3, 컬럼 4 FROM 테이블 이렇게 쓸때 주의할 점이 있습니다. 두개의 쿼리의 조회 결과가 합쳐지는 것인데요, 합쳐질때 컬럼의 갯수 및 타입이 다르면 오류가 납니다. 우선 컬럼의 갯수는 SET연산자인 UNION으로 묶어지는 두 쿼리의 컬럼 갯수가 동일해야 합니다. 그렇지 않으면 오류가 나.. 더보기
[SQL] SET 연산자에 대해서 알아보자, 우선 배경지식! SET 연산자에 대해서 우리는 초중고 때 배웠던 집합의 개념을 다시 떠올려 볼 수 있습니다. 사실 초등학교때 배웠는지는 기억이 안나는데요. ^^; 집합의 개념만 잡고 있다면 SET연산자에 대해서 이해가 더 잘 될 겁니다. SET 연산자에서 다룰 내용은요 UNION, UNION ALL, INTERSECT, MINUS 입니다. UNION 들은 합집합에 해당되는 내용이겠구요. INTERSECT는 교집합, 그리고 MINUS는 차집합이 되겟습니다. 우선 혹시나 합집합에 대해서 모르시는 분들을 위해서 잠시 수학의 시간으로 돌아가볼게요 ^^ 합집합은 두개의 집합의 합, 표현식으로는 A∪B 으로 나타낼 수 있겠는데요. 두개의 집합이 합쳐질때 공통요소는 한번만 포함이 됩니다. 즉 예로, A 집합에는 1~5까지의 수가 존.. 더보기
[SQL] 그룹으로 묶어서 관리해봅시다, GROUP BY! 이제 이쯤 보셨다면 SQL이랑은 많이 친해졌을듯 한데요~ 조금만더 열심히 해요~ 저두 열심히 한답니다!! 앞에서 SUM(), AVG()에 대해서 조금 했었죠? 이와 같은 함수와 같이 쓰이는게 'GROUP BY'입니다. 조금 눈치 채셨을지는 모르겠어요. 이 구문은 데이터들을 묶어서 쿼리를 처리할때 쓰인답니다. 묶는다라.. 감이 안잡히시나요? 간단합니다. 이상한 예이지만. 초등학교 전국 체전이 있습니다. 여기서 우리는 A 부터 Z까지 26개 초등학교가 있는데요. 우리는 여기서 각 초등학교의 참가한 학생수를 알고 싶은겁니다. 각!! 학교별로 말이죠. 그러면 여기서 A라는 학교에 속해있는 100명의 학생들은(가정) A라는 학교라는 공통점이 있고, B라는 학교에 속해있는 120명의 학생들은 B라는 같은 학교를 다.. 더보기