일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 보울룸
- 책리뷰
- 환생
- 전생
- 테이블삭제
- 인덱스
- 회사생활
- 30일챌린지
- null
- 직장생활
- 빅데이터
- SQLD
- 도전
- 홈트
- constraint
- ERD
- Drop
- Update
- 30일글쓰기
- 일기
- where절
- INSERT
- 데이터모델링
- rename
- 회사싫어
- SQL
- 직장인일기
- data
- 넷플릭스
- ROWNUM
- Today
- Total
목록문송한 회사생활 (74)
최보름달
5. SELECT 1. FROM 2. WHERE 3. GROUP BY 4. HAVING 6. ORDER BY 1. 발췌 대상 테이블에서 (FROM) 2. 대상 데이터가 아닌 것을 제거하고 (WHERE) 3. 행들을 소그룹화 하고 (GROUP BY) 4. 그룹핑된 값의 조건에 맞는 것만 출력해서 (HAVING) 5. 데이터 값을 출력/계산한다 (SELECT) 6. 그리고 정렬한다. (ORDER BY) 주의할 점 GROUP BY 에 오는 컬럼은 SELECT 와 ORDER BY에도 포함되어야 한다. 단, ORDER BY에 집계함수로 쓰이는 경우에는 GROUP BY에 없는 컬럼도 가능하다. -- 이렇게 하면 에러난다. SELECT JOB FROM EMP GROUP BY JOB ORDER BY SAL ; -- 이..
ORDER BY 특징 ORDER BY 는 조회된 데이터를 정렬하는 데 사용하는 명령어. 컬럼명, ALIAS, 컬럼 순서를 나타내는 숫자도 사용 가능하다. 별도 정렬 방식을 지정하지 않으면 오름차순이 기본으로 적용된다. SQL 마지막에 위치한다. 정렬 ASC(Ascending) : 오름차순으로 정렬. (디폴트라 생략 가능) 작은 숫자가 위에 온다. 빠른 날짜가 위에 온다. DESC(Descengind) : 내림차순 정렬. 큰 숫자가 위에 온다. NULL의 정렬 오라클 : 가장 큰 숫자 (DESC 했을 때 NULL이 가장 위에 옴) SQL SERVER : 가장 작은 숫자 ((DESC 했을 때 NULL이 가장 아래에 옴) 사람 이름을 내림차순으로 정렬하는 예시 SELECT PLAYER_NAME 선수명, POS..
GROUP BY 절 특징 FROM절과 WHERE절 뒤에 오며, 데이터들을 작은 그룹으로 분류하여 소그룹에 대한 항목별 통계 정보를 얻을때 사용한다. GROUP BY로 소그룹을 정한 뒤, SELECT절에 집계 함수를 사용한다. NULL 값을 가진 행을 제외하고 수행한다. GROUP BY절에서는 ALIAS명을 사용할 수 없다. WHERE절 수행 후에 GROUP BY 절이 수행된다. -- 포지션 별 평균키 구하기 -- 이렇게 하면 에러난다. SELECT POSITION, AVG(HEIGHT) FROM PLAYER ; -- 이렇게 해도 에러난다. (ALIAS 사용 불가) SELECT POSITION 포지션, AVG(HEIGHT) FROM PLAYER GROUP BY POSITION 포지션; -- 이렇게 조회해야..
집계함수 여러 행들의 그룹이 모여 단 하나의 결과를 돌려주는 함수 집계함수 특징 여러 행이 모여 그룹당 하나의 결과를 돌려줌 GROUP BY 절은 행들을 소그룹화 한다. SELECT절, HAVING절, ORDER BY 절에 사용할 수 있다. 자주 사용되는 집계 함수 COUT(*) NULL 값을 포함한 행의 수를 출력 COUNT(표현식) 표현식의 값이 NULL인 값인 것을 제외한 행의 수를 출력 SUM ([DISTINCT] | [ALL] 표현식) 표현식의 NULL 값을 제외한 합계를 출력 AVG ([DISTINCT] | [ALL] 표현식) 표현식의 NULL 값을 제외한 평균을 출력 MAX ([DISTINCT] | [ALL] 표현식) 표현식의 최대값을 출력 (문자, 날짜, 데이터 타입도 가능) MIN ([D..
NULL 의 특성 아직 정의되지 않은 값으로 0 또는 공백과 다르다. (0은 숫자이고, 공백은 문자다) 테이블을 생성할 때 NOT NULL 또는 PRIMARY KEY로 정의되지 않으면 NULL을 포함할 수 있다. NULL을 포함하는 연산의 결과도 NULL이다 ( 1 + NULL = NULL) 컬럼 A가 1 이고 컬럼 B가 NULL 일때는 연산 결과가 NULL 이지만, 컬럼 A에서 숫자 1과 NULL 이 있는 상태에서 sum(A)를 하면 NULL 을 제외한 1값이 나온다. NULL과 연산하고 싶을 때에는 시스템에서 의미 없는 문자로 바꿔서 연산하는 경우가 많다. 혹은 NVL 함수를 이용할 수도 있다. NULL과 관련된 함수 NVL(표현식1, 표현식2) / ISNULL(표현식1, 표현식2) 표현식 1의 결과..
CSAE 표현은 IF - THEN - ELSE 논리와 유사항 방식으로 사용할 수 있는 함수이다. 오라클에서는 DECODE 함수를 사용할 수도 있다. 예시 SELECT ENAME, -- 직원이름 CASE WHEN SAL > 2000 -- 급여가 2,000 초과면 THEN SAL -- 급여를 표시하고 ELSE 2000 -- 해당하지 않으면 2,000을 표시하라 END REVISED_SALARY -- CASE 행의 이름은 REVISED_SALARY 다 FROM EMP ; 이렇게도 가능하다. SELECT ENAME, -- 직원이름 CASE WHEN SAL >= 3000 THEN 'HEIGH' -- 급여가 3,000 이상이면 높음 WHEN SAL >= 1000 THEN 'MID' -- 1000 이상이면 중급 EL..

대표적인 변환형 함수 예시 -- 날짜를 정해진 문자 형태로 변환시키기 -- 오라클 SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD') 날짜, TO_CHAR(SYSDATE, 'YYYY. MM. DAY') 문자형 FROM DUAL ; -- sql server SELECT CONVERT (VARCHAR(10), GETDATE(), 111) AS CURRENTDATE kdata 한국데이터진흥원에서 출간한 SQL 전문가 가이드 2013 Edition을 요약했습니다.

DATE 타입의 값을 연산하는 함수 -- 현재 날짜, 시간 가져오기 -- 오라클 SELECT SYSDATE FROM DUAL ; -- sql server SELECT GETDATE() AS CURRENTTIME ; -- 년, 월, 일 출력하기 -- 오라클 SELECT ENAME, HIREDATE, EXTRACT (YEAR FROM HIREDATE) 입사년도, EXTRACT (MONTH FROM HIREDATE) 입사월, EXTRACT (DAY FROM HIREDATE) 입사일 FROM EMP ; -- sql server SELECT ENAME, HIREDATE, TO_NUMBER (TO_CHAR(HIREDATE, 'YYYY') 입사년도, TO_NUMBER (TO_CHAR(HIREDATE, 'MM') 입사..

숫자형 함수는 숫자 데이터를 입력받아 처리하고 숫자를 리턴하는 함수이다. kdata 한국데이터진흥원에서 출간한 SQL 전문가 가이드 2013 Edition을 요약했습니다.
문자형 함수는 문자 데이터를 매개 변수로 문자나 숫자 값의 결과를 돌려주는 함수이다. 문자형 함수 설명 함수 예시 예시 결과 LOWER(문자열 ) 소문자로 바꾼다 LOWER('SQL Expert') 'sql expert' UPPER(문자열) 대문자로 바꾼다 UPPER('SQL Expert') 'SQL EXPERT' ASCII(문자) 아스키 코드로 바꾼다 ASCII('A') 65 CHR/ CHAR(ASCII번호) 아스키 코드를 문자나 숫자로 바꾼다 CHR(65)/ CHAR(65) 'A' CONCAT(문자열1, 문자열2) 문자열1과 2를 연결한다. (오라클 |, sql server + 와 같다.) CONCAT('RDBMS', 'SQL') 'RDBMS SQL' SUBSTR/ SUBSTRING(문자열, m [,..