Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- CROSS JOIN
- numpy
- get_dummies()
- 인접리스트
- skip connection
- 연산량 감소
- Depthwise Separable Convolution
- dp
- 데이터모델링
- 백준
- 엔터티
- bottleneck
- BFS
- mobilenet
- SQLD
- Two Pointer
- 인접행렬
- SQLD 후기
- 그래프
- 1x1 Convolution
- SQL
- depthwise convolution
- 식별자
- outer join
- Inductive Bias
- resnet
- 정규화
- feature map
- pytorch
- dfs
Archives
- Today
- Total
SJ_Koding
SQLD 대비 (6) - SQL 문법 및 라이브러리_1 본문
이전 글과 이어지는 글입니다. 해당 정리글은 아래의 유튜브 영상을 참고하여 만들었습니다. 문제 시 삭제하겠습니다.
빨간색 형광펜은 강의에서 강조한 부분, 노란색 형광펜은 추가 서치로 내용을 '직접' 보강한 부분입니다.
SQL문법은 워낙 익숙해서 영상 교재와 다르게 핵심만 요약합니다.
SELECT (조회)
SELECT문
- 테이블내 저장된 데이터를 조회하기 위해 사용
- 특정 행 또는 특정 컬럼을 조회할 수 있음
SELECT *
FROM user
WHERE id = 'super'
SELECT COL1, COL2
FROM user
WHERE id = 'super'
ORDER BY (정렬)
- 오름차순, 내림차순 정렬
- 가장 나중에 실행
- 메모리를 많이 사용하며 SQL이 느려짐
- 대용량일 경우 한 번 고민해야함
- order by의 기본값은 오름차순
- 인덱스를 사용하여 정렬 과정을 회피할 수도 있음
SELECT * /* + INDEX_DESC(A) */
FROM user
DISTINCT (중복제거)
- DISTINCT는 SELECT절의 컬럼 앞에 위치하며 중복을 제거한 결과를 출력함
- 파이썬에서 set연산을 수행한다고 생각하자
Alias (as)
SELECT type as '유형'
FROM user;
*type의 컬럼명을 '유형'으로 대체 후 출력 (as를 생략해도 된다.)
WHERE (조건절)
- Where절은 SQL에서 조건을 줄 때 사용한다.
- 원하는 특정 행(튜플)만 출력하기 원할 때 사용
- 비교 연산자, SQL연산자
SELECT *
FROM A
WHERE
= /* ~와 같다 */
< /* ~보다 작다 */
> /* ~보다 크다 */
!=, <> /* ~가 아니다*/
NOT 컬럼명 = /* ~가 아니다 */
LIKE '%문자%' /* '문자가 들어간 것 */
IN (1, 2, 3) /* 1, 2, 3인 것 */
IS NOT NULL /* NULL이 아닌 것 */
IS NULL /* NULL인 것 */
DUAL 테이블
- Dual 테이블은 오라클에서 임시로 사용 할 수 있는 더미 테이블이다.
- 간단하게 함수를 테스트 하거나, 데이터를 테스트 할 때 사용 할 수 있다.
- 모든 사용자에게 권한이 열려 있다.
SELECT 1, 2, 3
FROM dual;
NULL
- NULL이란 데이터 정의가 없는 것
- NULL은 알 수 없는 값을 의미
- NULL을 이용하여 숫자나 날짜 연산을 하면 무조건 NULL
SELECT *
FROM user
WHERE phone IS NULL
문자함수 (내장함수에 속함)
- 데이터베이스내 함수들 가운데 내장함수
- 내장함수에서 문자를 다루는 문자함수
- lower/upper
SELECT temp as 원본, UPPER(temp) as 소문자, UPPER(temp) as 대문자
LENGTH(temp) as 길이,
SUBSTR(temp, 2, 2) as substr_ /*2번째 글자부터 2번째 글자 추출 (idx가 1부터 시작임)*/
INSTR(temp, 'A') as instr_ /*( 'A'글자의 인덱스를 반환 (1부터) )*/
LPAD(temp, 10, 'A') as lpad /*왼쪽 'A'로 패딩*/
REPLACE(temp, 'A', '@') /* 'A'를 '@'로 변환후 출력 */
FROM temp_table;
숫자함수 (내장함수에 속함)
round(num, n): num의 소숫점 n자리에서 반올림. 단, 음수일 경우 -1은 십의 자리, -2는 백의자리를 의미
SELECT round(112.3456, 1), round(112.3456, 2), round(112.3456, -1), round(112.3456, -2)
FROM DUAL
truncate(num, n): n의 자리에서 자름
SELECT truncate(112.3456, 2), truncate(112.3456, 1), truncate(112.3456, 0), truncate(112.3456, -1)
FROM DUAL
ceil / floor(num) : num을 올림하거나 내림
SELECT ceil(26.3), floor(26.3), ceil(11.9), floor(11.9)
FROM DUAL
'SQL > SQLD' 카테고리의 다른 글
SQLD 대비 (8) - SQL 문법 및 라이브러리_3 (0) | 2023.11.14 |
---|---|
SQLD 대비 (7) - SQL 문법 및 라이브러리_2 (0) | 2023.11.13 |
SQLD 대비 (5) - 관계형 데이터베이스 (RDBMS) (0) | 2023.11.13 |
SQLD 대비 (4) - 성능 데이터 모델링 및 정규화/반정규화, 데이터베이스 (0) | 2023.11.12 |
SQLD 대비 (3) - 식별자(Identifier) (2) | 2023.11.11 |