SQL 기초 개념 학습을 시작합니다.
SQL 기초 개념을 학습하기 좋은 블로그들
SQL 기초 & 자주쓰는 쿼리문 정리
SQLite3로 가볍게 배우는 데이터베이스 : SQL 기초 실습
코딩테스트 SQL 모음집
행 (row)
테이블에서 가로 방향의 자료 집합을 의미한다. 데이터베이스에서는 이것을 레코드(record)라고도 함.
열 (column)
열이란, 테이블에서 세로 방향의 자료 집합을 의미하고 데이터베이스에서는 이것을 필드(field)라고도 함.
테이블 (Table)
데이터가 행과 열로 구성된 구조로 저장되는 곳
데이터베이스 (Database)
여러 테이블을 포함하는 큰 틀.
CREATE DATABASE DBNAME;
CREATE TABLE TABLENAME ( column1 datatype, column2 datatype, ... );
SQL Data type은 이곳에 정리
- SELECT : 테이블에서 선택한 칼럼 데이터 조회
SELECT column1, column2, ... FROM TableName;
- WHERE : 특정 조건 데이터만 조회
SELECT name, age FROM students WHERE age > 20; //students에서 age 값이 20보다 큰 학생들의 name,age를 조회
- ORDER BY : 조회한 데이터 정렬
SELECT name, age FROM students ORDER BY age DESC; //students에서 name,age 조회. age를 기준으로 내림차순 정렬.
- LIMIT : 조회할 데이터 개수 제한
SELECT name, age FROM students LIMIT 5; //students 테이블에서 name과 age를 조회하되, 최대 5개의 행만 조회합니다.
테이블에 새로운 데이터를 추가할 때는 INSERT INTO 명령어를 사용
INSERT INTO TABLENAME (column1, column2,...)
VALUES (VALUE1, VALUE2, ...)
//예시 UPDATE students SET age = 24 WHERE id = 1; //students에서 id가 1인 학생의 age 값을 24로 수정
테이블에서 데이터를 삭제할 때는 DELETE FROM 명령어를 사용
DELETE FROM students WHERE id = 1 //students 테이블에서 id가 1인 행을 삭제
//예시 CREATE TABLE orders ( order_id INT PRIMARY KEY, student_id INT, FOREIGN KEY (student_id) REFERENCES students(id) );
여러 행의 값을 계산하여 하나의 결과를 반환하는 함수.
- COUNT(): 행의 개수 셈
SELECT COUNT(*) FROM students;- SUM(): 숫자 값의 합을 계산
SELECT SUM(age) FROM students;- AVG(): 숫자 값의 평균을 계산
SELECT AVG(age) FROM students;- MAX(): 최대 값 찾기
SELECT MAX(age) FROM students;- MIN(): 최소 값 찾기
SELECT MIN(age) FROM students;
- AND: 두 조건이 모두 참일 때 사용
SELECT * FROM students WHERE age > 20 AND name = 'Alice';OR: 두 조건 중 하나만 참이면 사용
SELECT * FROM students WHERE age > 20 OR name = 'Bob';NOT: 조건이 거짓일 때 사용
SELECT * FROM students WHERE NOT age > 20;
- row_number():
- date_foramt():
- UPPER(), LOWER(), INITCAP(): 대/소문자 변환
SELECT DISTINCT UPPER(JOB), LOWER(JOB), INITCAP(JOB) FROM EMP
- LENGTH(), LENGTHB(): 문자 길이, 문자 바이트 수 반환
SELECT DISTINCT JOB, LENGTH(JOB), LENGTHB(JOB) FROM EMP;