[SQL] 기초 개념

Hyunjun Kim·2024년 9월 24일
0

SQL

목록 보기
46/90

SQL 기초 개념 학습을 시작합니다.

SQL 기초 개념을 학습하기 좋은 블로그들

SQL 기초 & 자주쓰는 쿼리문 정리
SQLite3로 가볍게 배우는 데이터베이스 : SQL 기초 실습
코딩테스트 SQL 모음집

1. 데이터베이스와 테이블

행 (row)
테이블에서 가로 방향의 자료 집합을 의미한다. 데이터베이스에서는 이것을 레코드(record)라고도 함.

열 (column)
열이란, 테이블에서 세로 방향의 자료 집합을 의미하고 데이터베이스에서는 이것을 필드(field)라고도 함.

테이블 (Table)
데이터가 로 구성된 구조로 저장되는 곳

데이터베이스 (Database)
여러 테이블을 포함하는 큰 틀.



2. SQL 기본 명령어

2.1. DB 생성

CREATE DATABASE DBNAME;

2.2. Table 생성

CREATE TABLE TABLENAME ( 
	column1 datatype,
	column2 datatype,
	...
);

SQL Data type은 이곳에 정리

2.3. SELECT

  • 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개의 행만 조회합니다.

2.4. INSERT

테이블에 새로운 데이터를 추가할 때는 INSERT INTO 명령어를 사용

INSERT INTO TABLENAME (column1, column2,...)
VALUES (VALUE1, VALUE2, ...)

2.5. UPDATE

//예시
UPDATE students SET age = 24 WHERE id = 1;
//students에서 id가 1인 학생의 age 값을 24로 수정

2.6. DELETE

테이블에서 데이터를 삭제할 때는 DELETE FROM 명령어를 사용

DELETE FROM students WHERE id = 1
//students 테이블에서 id가 1인 행을 삭제



3. Primary Key & Foreign Key

  • Primary Key: 테이블에서 각 행을 고유하게 식별하는 열(또는 열의 조합)입니다.
  • Foreign Key: 다른 테이블의 기본 키를 참조하는 열로, 테이블 간의 관계를 나타냅니다.
//예시
CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    student_id INT,
    FOREIGN KEY (student_id) REFERENCES students(id)
);



4. Aggregate Functions(집계 함수)

여러 행의 값을 계산하여 하나의 결과를 반환하는 함수.

  • 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;



5. SQL 조건문

  • 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;



6. 자주 쓰이는 함수들

  • 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;
profile
Data Analytics Engineer 가 되

0개의 댓글