Data Analysis

카테고리 없음

[SQL] 관계형 데이터 베이스, 연산자, 정렬과 집계, 기초함수

Holy_Water 2023. 12. 4. 19:11

구조적 쿼리 언어(SQL)는 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어이다. 데이터를 다룰 때 필수적으로 요구되는 기술이기 때문에 데이터 관련 직종을 갖고자 하는 분들에게는 필수적이라고 할 수 있다. 오늘은 SQL에 대해서 알아보자 ! 

 

관계형 데이터베이스와 비-관계형 데이터베이스의 차이점 

구분 관계형 데이터베이스 RDBMS 비-관계형 데이터베이스 NoSQL
사용 목적 - 정형 데이터: 테이블 행/열 로 이루어진 형태
- Transaction 처리: 데이터의 일관성과 무결성이 중요한 서비스에서 사용 
예) 은행의 금융 서비스, 쇼핑몰 주문 & 정산
- 비정형/반정형 데이터: JSON, XML 등 다양한 형태
- 대량의 데이터와 빠른 읽기/쓰기: 대규모/분산 데이터 처리가 필요한 서비스에서 사용
데이터 일관성 -ACID 특성을 준수하여 데이터 일관성을 보장 - DB마다 다르고, aCID 특성을 보장하지 않는 경우도 있음.
- 중복이 발생
스키마 - 고정된 스키마 사용, 데이터 구조 변경이 어려울 수 있
스키마: 데이터 저장 형식
- 스키마 없는 데이터 모델을 사용하여 데이터 구조를 자유롭게 변경할 수 있음
쿼리 언어 - SQL을 사용하여 데이터를 가져오고 관리 - DB마다 고유한 쿼리 언어 또는 API를 제공하며, SQL과는 다른 방식으로 데이터를 질의
수평 확장 - 수평 확장이 복잡하고 어려움 - 수평 확장이 상대적으로 용이

 

 

비교연산자와 논리연산자

비교 연산자 종류: >, <, >=, <=, <>, !=

예)

SELECT producti_id, name # 결과값을 원하는 컬럼 선택

FROM prodicts # 테이블 선택

WHERE 1=1 

AND price < 10000 # 가격 컬럼이 10000이하인 값만 추출

AND category != '주방용품' # 카테고리 컬럼이 '주방용품'이 아닌 데이터만 추출

 

 

논리 연산자 종류: OR, IN, NOT, NOT IN, LIKE, BETWEEN, IS NULL

 

정렬과 집계: ORDER BY, GROUP BY, HAVING

 

SQL 기초 함수: SUM(), AVE(), CONCAT(), LEFT(), RIGHT(), SUBSTRING(), UPPER(), LOWER(), ROUND(), CEIL(), FLOOR(), TRUNCATE(), ABS(), MOD(), COALESCE()