Study/DB 35

[SQL 첫걸음] 3장.정렬과 연산 - 15.CASE 문으로 데이터 변환하기

저자 : 아사이 아츠시출판 : 한빛미디어 1. CASE문 - NULL값을 0으로 간주하여 계산하고 싶은 경우 (원래 NULL값으로 연산한 결과는 모두 NULL) 사용자 정의 함수를 작성하지않고도 CASE문으로 처리 가능. - CASE문 : CASE WHEN 조건식1 THEN 식1[ WHEN 조건식2 THEN 식2 ... ][ ELSE 식3 ]END - WHEN 절에는 참과 거짓을 반환하는 조건식을 기술. 해당 조건을 만족하여 참이 되는 경우는 THEN절에 기술한 식이 처리됨. WHEN절의 조건식을 차례로 평가해나가다 가장 먼저 조건을 만족한 WHEN절과 대응하는 THEN절 식의 처리결과를 CASE문의 결괏값으로 반환. - 그 어떤 조건식도 만족하지 못한 경우엔 ELSE절에 기술한 식이 채택됨. ELSE는..

Study/DB 2018.08.30

[SQL 첫걸음] 3장.정렬과 연산 - 14.날짜 연산

저자 : 아사이 아츠시출판 : 한빛미디어 1. SQL에서의 날짜 - 시스템 날짜 확인 : CURRENT_TIMESTAMP 라는 긴 이름의 함수로 실행했을 때를 기준으로 시간을 표시.(다른 함수와 달리 인수를 지정할 필요없음) - cf) MySQL 에서 NOW()함수의 결과도 CURRENT_TIMESTAMP와 동일 - CURRENT_TIMESTAMP는 표준 SQL로 규정되있는 함수. Oracle에서는 SYSDATE 함수, SQL Server에서는 GETDATE함수를 사용해도 시스템 날짜를 확인 가능하지만 표준화 전 구현된 함수인 만큼 사용하지 않는 편이 나음. - 날짜 서식 : 날짜를 표기하는 방식이 다양하여 대부분의 데이터 베이스 제품은 날짜 데이터의 서식을 임의로 지정, 변환할 수 있는 함수를 지원 *..

Study/DB 2018.08.30

[SQL 첫걸음] 3장.정렬과 연산 - 13.문자열 연산

저자 : 아사이 아츠시출판 : 한빛미디어 1. 문자열 결합 - 문자열 데이터를 결합하는 연산자에는 데이터베이스 제품마다 방언이 있음. 연산자/함수 데이터베이스 + SQL Server || Oracle, DB2, PostgreSQL CONCAT MySQL - unit는 문자열형, quantity는 INTEGER형 열. CONCAT 함수를 이용해 두 열을 결합. 문자열 결합이지만 수치데이터도 문제없이 연산 가능. 단, 문자열로 결합한 결과는 문자열형이 됨. 2. SUBSTRING 함수 - SUBSTRING함수는 문자열의 일부분을 계산해서 반환해주는 함수. 디비에 따라 함수명이 SUBSTR인 경우도 있음. 3. TRIM 함수 - 문자열 앞뒤로 여분의 스페이스가 있을 경우 이를 제거해주는 함수. 문자열 도중에 ..

Study/DB 2018.08.30

[SQL 첫걸음] 3장.정렬과 연산 - 12.수치 연산

저자 : 아사이 아츠시출판 : 한빛미디어 발매 : 2015.11.01 1. 사칙 연산 - + : 덧셈, - : 뺄셈, * : 곱셈, / : 나눗셈, % : 나머지 - % 나머지연산자 : 몫이 정수값이 되도록 계산. ex) 1 나누기 2는 몫이 0.5가 아니라 0. 따라서 나머지는 1. 데이터베이스 제품에 따라 적용하는 함수가 다른데, %대신 MOD함수를 사용하는 경우도 있음. - 연산자의 우선순위 : 1순위. * / % 2순위. + - - SQL명령에서는 여러 부분에서 산술 연산자 사용 가능. SELECT구나 WHERE 구 안에서도 연산 가능. 2. SELECT 구로 연산 - SELECT price * quantity FROM sample34; (가격 X 수량으로 금액 계산) 3. 열의 별명 - SELE..

Study/DB 2018.08.29

[SQL 첫걸음] 3장.정렬과 연산 - 11.결과 행 제한하기(LIMIT)

저자 : 아사이 아츠시 출판 : 한빛미디어 발매 : 2015.11.01 - LIMIT 구로 결과 행을 제한하는 방법 : SELECT 열명 FROM 테이블명 LIMIT 행수 [OFFSET 시작행] 1. 행 수 제한 - LIMIT 구는 표준 SQL은 아님. MySQL과 PostgreSQL에서 사용할 수 있는 문법임. - LIMIT 구는 SELECT 명령의 마지막에 지정하는 것으로 WHERE구나 ORDER BY구의 뒤에 지정. : SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명 LIMIT 행수 (최대행수) * 정렬한 후 제한하기 - LIMIT는 반환할 행수를 제한하는 기능으로, WHERE구로 검색한 후 ORDER BY로 정렬된 뒤 최종적으로 처리. * LIMIT를 사용할 수 없는 디..

Study/DB 2018.08.28

[SQL 첫걸음] 3장.정렬과 연산 - 10.복수의 열을 지정해 정렬

저자 : 아사이 아츠시출판 : 한빛미디어 발매 : 2015.11.01 1. 복수 열로 정렬 지정 - ORDER BY로 복수 열 지정 가능 : SELECT 열명 FROM 테이블명 ORDER BY 열명1, 열명2... 2. 정렬방법 지정하기 - 복수 열을 지정한 경우에도 각 열에 대해 개별적으로 정렬방법을 지정할 수 있음. : SELECT 열명 FROM 테이블명 ORDER BY 열명1 [ASC | DESC], 열명2 [ASC | DESC]... 3. NULL 값의 정렬순서 - ORDER BY로 지정한 열에서 NULL값을 가지는 행은 가장 먼저 표시되거나 가장 나중에 표시. NULL에 대한 대소비교 방법은 표준SQL에도 규정되어 있지 않아 데이터베이스 제품에 따라 기준이 다름. - MySQL의 경우에는 NUL..

Study/DB 2018.08.28

[SQL 첫걸음] 3장.정렬과 연산 - 09.정렬(ORDER BY)

저자 : 아사이 아츠시출판 : 한빛미디어 발매 : 2015.11.01 1. ORDER BY로 검색 결과 정렬하기 - SELECT 열명 FROM 테이블명 (WHERE 조건식) ORDER BY 열명 - 지정한 열의 값에 따라 행의 순서가 바뀜. 2. ORDER BY DESC로 내림차순 정렬하기- 오름차순 정렬 : SELECT 열명 FROM 테이블명 (WHERE 조건식) ORDER BY 열명 ASC => 오름차순은 생략 가능. ORDER BY의 기본 정렬방법은 오름차순. - 내림차순 정렬 : SELECT 열명 FROM 테이블명 (WHERE 조건식) ORDER BY 열명 DESC - DESC는 descendant(하강), ASC는 ascendant(상승)의 약자. 3. 대소관계 * 작은 것에서 큰 것 순으로 정..

Study/DB 2018.08.28

[SQL 첫걸음] 2장.테이블에서 데이터 검색 - 08.패턴 매칭에 의한 검색(LIKE)

저자 : 아사이 아츠시출판 : 한빛미디어 발매 : 2015.11.01 1. LIKE로 패턴 매칭하기. - 열명 LIKE '패턴' - 패턴을 정의할 때 사용할 수 있는 메타문자로는 %와 _가 있다. 퍼센트(%)는 임의의 문자열을 의미하며, 언더스코어(_)는 임의의 문자 하나를 의미함. - 패턴을 정의할 때는 메타문자를 여러개 사용 가능, 와일드카드로 자주 쓰이는 *는 LIKE에서는 사용 불가. ▼ SELECT * FROM sample25 WHERE text LIKE 'SQL%': text 열 데이터가 'SQL'~로 시작하는 행 검색.(전방 일치) ▼ SELECT * FROM sample25 WHERE text LIKE '%SQL%' : text 열 데이터에 'SQL'이 포함되는 행 검색.(중간 일치) **..

Study/DB 2018.08.28

[SQL 첫걸음] 2장.테이블에서 데이터 검색 - 07.조건 조합하기(AND,OR,NOT)

저자 : 아사이 아츠시출판 : 한빛미디어 발매 : 2015.11.01 1. AND로 조합하기 (모든 조건을 만족하는 행 검색)- SELECT * FROM sample24 WHERE a0 AND b0; : a열과 b열이 모두 0이 아닌 행 검색. - 조건을 만족하는 행을 집합으로 표현했을 때, 이들 집합이 겹치는 부분, 즉 '교집합'에 해당 2. OR로 조합하기 (어느 쪽이든 조건을 만족하는 행 모두 검색) - SELECT * FROM sample24 WHERE a0 OR b0; : a열이 0이 아니거나 b열이 0이 아닌 행을 검색. - 조건을 만족하는 행을 집합으로 표현했을 때, 이들 집합들을 합한 부분, 즉 '합집합'에 해당 3. AND와 OR를 사용할 경우 주의할 점 1) - SELECT * FROM..

Study/DB 2018.08.28

[SQL 첫걸음] 2장.테이블에서 데이터 검색 - 06.검색 조건 지정하기

저자 : 아사이 아츠시출판 : 한빛미디어 발매 : 2015.11.01 1. SELECT 구에서 열 지정 SELECT no,name FROM sample21; (no열과 name열만 선택) 2. WHERE 구에서 행 지정- 조건식의 비교 연산자 '=' 연산자 : 서로 같은 값인지를 비교, 같은 값이면 참. '' 연산자 : 서로 다른 값인지를 비교, 다른 값이면 참. SELECT * FROM sample21 WHERE no = 2; (no열 값이 2인 행만) SELECT * FROM sample21 WHERE no 2; (no열 값이 2가 아닌 행만) 3. 문자열형의 상수- 문자열형 , 날짜시간형을 비교할 경우는 싱글쿼트로 둘러싸 표기함. - 날짜시간형 : 연월일을 하이픈(-)으로 구분, 시각은 시분초를 콜..

Study/DB 2018.08.28