[SQLD] SQL 기본 (1)
01 관계형 데이터베이스 개요
관계형 데이터베이스
관계형 데이터베이스의 설계는 모든 데이터를 2차원 테이블 형태로 표현한 뒤 각 테이블 간의 관계를 정의한 것으로 시작된다.
TABLE
항목을 나타내는 각각의 세로 열을 컬럼(Column)이라고 하고 각각의 가로 행을 로우(Row)라고 한다.
SQL(Structured Query Language)
SQL은 관계형 데이터베이스에서 데이터를 다루기 위해 사용하는 언어이다.
02 SELECT 문
SELECT
저장되어 있는 데이터를 조회하고자 할 때 사용하는 명령어
SELECT * FROM 테이블;
산술 연산자
수학에서 사용하는 사칙연산의 기능을 가진 연산자이다.
연산자 | 의미 | 우선순위 |
() | 괄호로 우선순위를 조정할 수 있음 | 1 |
* | 곱하기 | 2 |
/ | 나누기 | |
+ | 더하기 | 3 |
- | 빼기 |
합성 연산자
문자와 문자를 연결할 때 사용하는 연산자이다.
SELECT 'S' || 'Q' || 'L' AS SQLD FROM DUAL;
03 함수
문자 함수
①CHR(ASCII 코드)
ASCII코드를 인수로 입력했을 때 매핑되는 문자가 무엇인지를 알려주는 함수
SELECT CHR(65) FROM DUAL;
②LOWER(문자열)
문자열을 소문자로 변환
SELECT LOWER('JENNIE') FROM DUAL;
③UPPER(문자열)
문자열을 대문자로 변환
SELECT UPPER('JENNIE') FROM DUAL;
④LTRIM(문자열[,특정 문자]) *[]는 옵션
특정 문자를 따로 명시해주지 않으면 문자열읠 왼쪽 공백을 제거하고, 명시해주었을 경우 문자열을 왼쪽부터 한 글자씩 특정 문자와 비교하여 특정 문자에 포함되어 있으면 제거하고 포맣되어 있지 않으면 멈춘다.
⑤RTRIM(문자열[,특정 문자]) *[]는 옵션
특정 문자를 따로 명시해주지 않으면 문자열의 오른쪽 공백을 제거하고, 명시해주었을 경우 문자열을 오른쪽부터 한 글자씩 특정 문자와 비교하여 특정 문자에 포함되어 있으면 제거하고 포함되지 않았으면 멈춘다.
⑥TRIM([위치] [특정문자] [FROM] 문자열) * []는 옵션
⑦SUBSTR(문자열, 시작점 [,길이]) *[]는 옵션
문자열의 원하는 부분만 잘라서 반환해주느는 함수
⑧LENGTH(문자열)
문자열의 길이를 반환해주는 함수
⑨REPLACE(문자열, 변경 전 문자열[,변경 후 문자열]) *[]는 옵션
문자열에서 변경 전 문자열을 찾아 변경 후 문자열로 바꿔주는 함수
숫자 함수
①ABS(수)
수의 절대값을 반환해주는 함수
②SIGN(수)
수의 부호를 반환해주는 함수
③ROUND(수 [,자릿수])
수를 지정된 소수점 자리수까지 반올림하여 반환해주는 함수
④TRUNC(수 [,자릿수])
수를 지정된 소수점 자릿수까지 버림하여 반환해주는 함수
⑤CEIL(수)
소수점 이하의 수를 올림한 정수를 반환해주는 함수
⑥FLOOR(수)
소수점 이하의 수를 버림한 정수를 반환해주는 함수
⑦MOD(수1, 수2)
수1을 수1로 나눈 나머지를 반환해주는 함수
날짜 함수
①SYSDATE
현재의 연, 월, 일, 시, 분, 초를 반환해주는 함수
②EXTRACT(특정 단위 FROM 날짜 데이터)
날짜 데이터에서 특정 단위만을 출력해서 반환해주는 함수
③ADD_MONTHS(날짜 데이터, 특정 개월 수)
날짜 데이터에서 특정 개월 수를 더한 날짜를 반환해주는 함수
변환 함수
①명시적 형변환과 암시적 형변환
- 명시적 형변환 : 변환 함수를 사용하여 데이터 유형 변환을 명시적으로 나타냄
- 암시적 형변환 : 데이터베이스가 내부적으로 알아서 데이터 유형을 변환함
②명시적 형변환에 쓰이는 함수
- TO_NUMBER(문자열)
- TO_CHAR(수 or 날짜 [, 포맷])
- TO_DATE(문자열, 포맷)
NULL 관련 함수
①NVL(인수1, 인수2)
인수1의 값이 NULL일 경우 인수2를 반환하고 NULL이 아닐 경우 인수1을 반환해주는 함수이다.
②NULLIF(인수1, 인수2)
인수1과 인수2가 같으면 NULL을 반환하고 같지 않으면 인수1을 반환해주는 함수이다.
③COALESCE(인수1, 인수2, 인수3 ...)
NULL이 아닌 최초의 인수를 반환해주는 함수이다.
CASE
'~이면 ~이고,~이면 ~이다' 식으로 표현되는 구문
CASE WHEN SUBWAY_LINE = '1' THEN 'BLUE'
WHEN SUBWAY_LINE = '2' THEN 'GREEN'
WHEN SUBWAY_LINE = '3' THEN 'ORANGE'
[ELSE 'GRAY']
END
출처 : 정미나. 「유선배 SQL개발자(SQLD) 과외노트」. (주)시대교육. 2023