목록SQL (9)
세진세상
SQL GROUP #3 Group by 문을 사용할 때, 요약정보를 단계적으로 생성해주는 연산자를 알아보겠다. Rollup, Cube 두 연산자를 사용해볼텐데, 대동소이하다. ROLLUP SELECT 칼럼, ... FROM 테이블명 GROUP BY ROLLUP(칼럼, ...) Group by 문을 사용하는 것과 동일한테, 그룹을 구성하는 칼럼을 연산자로 묶어준다. 어떤 결과가 출력되는지 실습해보겠다. EMP 테이블에서 부서번호(DEPTNO)와 직업(JOB) 별로 평균 월급(SAL)을 출력하되, ROLLUP을 사용해 출력한 것과 비교해보자. 123456789101112131415161718SQL> SELECT DEPTNO, JOB, AVG(SAL) 2 FROM EMP 3 GROUP BY DEPTNO, JO..
SQL GROUP #2 그룹을 더욱 풍부하게 활용하기 위해 학습할 내용은 'HAVING'이다. 이는 Group by에 의해 나눠진 데이터들에 조건을 주기 위해 사용한다. 쉽게 말해서, 제 2의 조건문이라고 할 수 있다. HAVING HAVING 문에는 SELECT - LIST에서 명시한 컬럼과 그룹함수를 사용한 칼럼에 대해서만 조건을 줄 수 있다. 기본적인 구조는 다음과 같다. SELECT FROM GROUP BY HAVING 바로 실습해 보겠다. EMP 테이블에서 직업별(JOB) 총 월급(SAL)을 구하고, 직업이 MANAGER 가 아닌 것만 출력하라. 123456789101112SQL> SELECT JOB, SUM(SAL) 2 FROM EMP 3 GROUP BY JOB 4 HAVING JOB != '..
SQL GROUP #1 집계함수(그룹함수)를 학습하던 중 부서별로 평균 월급을 출력하려 했다. 그러나 그룹이 어쩌니 하는 오류가 발생하였는데, 지금부터 그와 관련된 문법은 익혀보겠다. GROUP BY group by 문은 쉽게 말해 '분류'다. 문장 뒤에 분류하고 싶은 칼럼명이나 변수값 등을 입력하여 사용한다. 단, 집계함수와 같은 형태는 사용할 수 없다. 그럼, 오류가 났던 코드를 수정해보자.12345678910SQL> SELECT DEPTNO, AVG(SAL) 2 FROM EMP 3 GROUP BY DEPTNO 4 ; DEPTNO AVG(SAL)---------- ---------- 30 1566.66667 20 2258.33333 10 2916.66667cs group by 문에는 하나의 칼럼으로만..
SQL 집계함수 집계함수(그룹함수)는 말 그대로 이미 기록된 정보를 모아서 계산하는 함수를 말한다. 이를테면, 총 데이터가 몇 개가 되는지, 수치가 있다면 그 합계는 얼마인지 등을 계산하여 출력해준다. 다양한 함수가 있겠지만, 간단한 5가지만을 알아보겠다. 지금부터 학습할 집계함수는 데이터의 수, 합계, 평균, 최대값, 최소값을 출력해주는 함수이다. 함수 이름과 용도가 직관적이어서 아주 쉽게 익힐 수 있다. 단, 주의할 점이 있으니 꼭 체크하자. COUNT(칼럼명) 카운트, 데이터의 개수를 세는 집계함수다. EMP 테이블의 모든 ROW의 개수를 세어보자.1234567SQL> SELECT COUNT(*) 2 FROM EMP 3 ; COUNT(*)---------- 12cs EMP 테이블의 사원의 수를 세어..
SQL SELECT 기초#3 지난 Where 조건절 학습에서 예제의 수가 적어서 실습이 충분하지 않았다. 조건절을 다양하게 사용하면서 Where 조건절 학습을 보충하겠다. 특정 키워드를 활용해 효율적인 조건절 코드를 작성하는 방법도 익혀보자. 추가적으로 날짜 데이터를 조회하는 방법에 대해 학습하겠다. 논리 연산자(AND) 활용 예제 부서번호(DEPTNO)가 10이고, 월급(SAL)이 1000 이상 5000 이하인 사원의 이름(ENAME)과 월급을 출력하자. 12345678910SQL> SELECT ENAME, SAL 2 FROM EMP 3 WHERE DEPTNO=10 AND SAL>=1000 AND SAL SELECT ENAME, SAL 2 FROM EMP 3 WHERE DEPTNO=10 AND SAL ..
SQL SELECT 기초 #2. 미리 이야기한대로 비교 연산을 이용한 SELECT의 기초를 계속 학습하겠다. 비교 연산이라 하면, 숫자형 데이터의 크기나 문자열의 패턴을 비교하는 것이 생각하자. 예를 들자면, 변수 X가 10보다 큰가? 하는 비교와 문자열에 E가 포함되어 있는가? 하는 비교다. 이러한 비교를 할 수 있다면, SELECT를 풍부하게 사용할 수 있다. 이를테면, DB에서 월급이 얼마 이상인 데이터만 출력하는 식의 조회가 가능하다. 비교연산에 앞서 알아야 할 코드가 있다. 그 비교 연산을 어떻게 입력하는지 부터 학습하자.SELECT 칼럼명 FROM 테이블명 WHERE 조건절 ; WHERE 이하의 조건절에 비교 연산을 포함한 명제 설정하면 된다. 해당 명제가 참인 상태의 결과가 출력된다. 사용 ..
SQL SELECT 기초 #1. 데이터베이스에 저장된 정보를 가지고 어떤 작업을 할 때, 가장 먼저하는 작업은 아무래도 정보의 조회일 것이다. 어떠한 정보가 어디에 어떤 형태, 어떤 값 등으로 저장되어 있는지 확인해야 한다. 그 조회를 실행하는 구문인 SELECT를 알아보겠다. 조회, 좀 더 정확히는 데이터 읽기(READ)는 SQL의 생활이라고 봐도 무방하다. 그러므로 SELECT를 열심히 익혀보자.SELECT 칼럼명 FROM 테이블명; 가 기본 형태다. 테이블은 DB의 틀이고, 칼럼은 카테고리라 보면 된다. 비유적으로 표현하자면, 김치냉장고와 김치통이다. 이제, SQL을 실행해서 직접 조회를 해보자. 실습 DB로는 지난 번에 잠금해제한 SCOTT 계정을 사용하겠다. SCOTT 계정 관련 포스팅 http..
Oracle Sample Schema. Oracle을 설치하면 내부에 샘플 테이블을 가지고 있는 계정이 있다. 물론, 버전이나 설치 방식에 따라 차이가 날 수 있다. 나와 유사?하게 설치하셨다면 그 샘플을 활용해, SQL 코드를 학습하면 된다. 학습에 널리? 활용되는 계정이 바로 'Scott' 계정이다.우선 Scott 계정이 있는지 확인하겠다. Oracle을 설치할 때, 경로를 변경하지 않고 Yes Man 하셨다면, C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN 이 경로에 scott.sql 파일을 확인할 수 있을 것이다. 해당 파일을 우클릭 > 편집으로 열어보면, @#$@#%#$%^#$... 그래 뭔지는 모를 것들이 쓰여있다. 나중에 알게 되겠지만,..
Oracle 시작하기. 홈페이지에 들어가서 DB를 다운받자. https://www.oracle.com/kr/index.html 메뉴 > 다운로드 및 시험판 > 개발자 다운로드 갑자기 영문으로 바뀌면서, 아래로 조금 내리면 Database 를 찾을 수 있다. 12c, 11g 버전 아무거나 일단 클릭을 하자. 일단 이동한 페이지에서 Accept를 해주셔야 다운을 받을 수 있다. 운영체제와 DB 버전을 선택해서 다운받으면 된다. 하지만 쉽게 주지 않는다. 오라클 계정을 만들어야만 가능한데, 어렵지 않기 때문에 생략한다. 다운 받은 파일로 오라클을 설치해보자. 나는 예전부터 가지고 있던 10g를 설치하겠다. 10g가 필요하신 분은 아래 댓글로 메일을 적어주시면 시간이 날 때 보내드리겠습니다. ㅎ 쭉~ Yes M..