목록문송한 회사생활/SQL 공부 (66)
최보름달

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 [,..

내장 함수 내장 함수는 벤더에서 제공하는, 데이터베이스를 설치하면 기본적으로 제공되는 함수를 말한다. 내장 함수는 다시 단일행 함수(single row function)과 다중행 함수(multi row function)으로 나눌 수 있다. 다중행 함수는 다시 집계 함수(aggregate function), 그룹 함수(group function), 윈도우 함수(window function)으로 나눌 수 있다. 함수는 입력되는 값이 아무리 많아도 출력은 하나만 된다는 M:1 관계라는 중요한 특징을 가지고 있다. 단일행 함수는 처리하는 데이터 형식에 따라서 문자형, 숫자형, 날짜형, 변환형, NULL 관련 함수로 나눌 수 있다. 단일행 함수의 종류 단일행 함수의 특징 SELECT, WHERE, ORDER BY..
ROWNUM (오라클)원하는 행 만큼 가져오고 싶을 때 where 절에서 행의 개수를 제한하는 목적으로 사용할 수 있다. 한 건의 행만 가져오고 싶을 때 -- 다 똑같은 결과가 나온다. SELECT PLAYER_NAME FROM PLAYER WHERE ROWNUM = 1; SELECT PLAYER_NAME FROM PLAYER WHERE ROWNUM
같지 않음을 표현하는 연산자 != ^= NOT 컬럼명 = ~보다 크지 않다. NOT 컬럼명 > A와 B 값 사이에 있지 않다. NOT BETWEEN A AND B list 값과 일치하지 않는다. NOT IN (list) NULL값을 갖지 않는다. IS NOT NULL 예시 -- 소속이 K02 인 선수 중에서 포지션이 MF가 아니고, 175 이상 185 이하가 아닌 선수를 찾아라 -- 이렇게 해도 되고 SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키 FROM PLAYER WHERE TEAM_ID = 'K02' AND NOT POSITION = 'MF' AND NOT HEIGHT BETWEEN 175 AND 185 ; -- 이렇게 해도 된다. SE..
논리 연산자의 종류 연산자 의미 AND 앞에 있는 조건과 뒤에 오는 조건을 동시에 만족해야 한다. OR 앞뒤 조건 중 하나만 만족해도 된다. NOT 뒤에 오는 조건에 반대되는 결과를 돌려준다. 예시 -- 소속이 K02이고, 키가 170 이상인 선수를 찾아라. SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키 FROM PLAYER WHERE TEAM_ID = 'K02' AND HEIGHT >= 170 ; -- 소속이 K02이거나 K07이고, 포지션이 MF인 선수를 찾아라 SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키 FROM PLAYER WHERE TEAM_ID IN ('K02', K0..
SQL 연산자 SQL 연산자는 SQL 문장에서 사용하도록 기본적으로 예약되어 있는 연산자로, 모든 데이터 타입에 대해서 연산이 가능하다. SQL 연산자 종류 연산자 의미 BETWEEN A AND B A와 B의 값이 포함된 사이값 IN (list) 리스트에 있는 값 중에서 일치하는 값 LIKE '비교문자열' 비교 문자열과 형태가 일치하는 값 IS NULL NULL 값 BETWEEN A AND B -- 키가 170 이상, 180 이하인 선수 정보를 찾아라 SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키 FROM PLAYER WHERE HEIGHT BETWEEN 170 AND 180 ; IN -- 팀 아이디가 K02, K07인 선수를 찾아라 SELE..

비교연산자 종류 예시 -- 소속팀이 'KO2'를 찾아라 SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키 FROM PLAYER WHERE TEAM_ID = 'K02' ; TEAM_ID 의 데이터 타입이 CHAR(3) 이기 때문에 따옴표('') 나 큰따옴표("") 로 묶어서 처리해야 한다. 데이터 타입이 NUMERIC 과 같은 숫자 타입이라면 인용 부호를 사용하지 않는다. -- 키가 170 이상인 선수를 찾아라. SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키 FROM PLAYER WHERE HEIGHT >= 170 ; kdata 한국데이터진흥원에서 출간한 SQL 전문가 가이드 2013 ..

WHERE 조건절 개요 WHERE 조건절을 적지 않으면 FTS(Full Table Scan)을 하게 되므로 대량 조회가 되어 CPU나 메모리를 과다하게 사용하게 된다. WHERE 절은 필터링과 같은 역할을 한다고 보면 된다. WHERE 절 WHERE 절은 FROM 절 다음에 위치한다. 컬럼명, 비교연살자, 문자, 숫자, 표현식, 비교컬럼명 등이 올 수 있다. SELECT 컬럼명 FROM 테이블명 WHERE 조건식 ; WHERE 절에 올 수 있는 연산자 비교 연산자 : =, >, >=,