[TIL] 241118 | SQL 기본 문법

·2024년 11월 18일

TIL

목록 보기
4/88
  1. 걷기반 SQL 문법 연습
    SQL 문법 연습 1-5

SQL 기본 명령어

데이터 베이스 생성

CREATE DATABASE 데이터베이스이름;

테이블 생성

CREATE TABLE 테이블 이름 (
	컬럼1 데이터 타입,
    컬럼2 데이터 타입,
    ...
);

예시:

CREATE TABLE students (
	id INT,
    name VARCHAR(50),
    age INT
);

데이터 조회 SELECT, WHERE, ORDER BY, LIMIT

SELECT nme, age
FROM students
WHERE age > 20
ORDER BY age DESC
LIMIT 5;

ORDER BY에서 DESC 생략 시 오름차순 정렬

데이터 삽입 INSERT

INSERT INTO 테이블이름 (컬럼1, 컬럼2, ...) VALUES (값1, 값2, ...)

예시:

INSERT INTO students (id, name, age) VALUES (1, 'Alice', 23);

데이터 수정 UPDATE

UPDATE 테이블이름 SET 컬럼1 = 값1, 컬럼2 = 값2 WHERE 조건;

예시:

UPDATE studetns SET age = 24 WHERE id = 1;

: id가 1인 학생의 age 값을 24로 수정

데이터 삭제 DELETE FROM

DELETE FROM 테이블이름 WHERE 조건;

예시:

DELETE FRO< studetns WHERE id = 1;

기본 키와 외래 키

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

: orders 라는 테이블을 정의. order_id는 기본키. student_id는 students 테이블의 id를 참조하는 외래키.

집계 함수

  • COUNT(): 행 수를 센다.
SELECT COUNT(*) FROM students;
  • SUM()
SELECT SUM(age) FROM students;
  • AVG()
SELECT AVG(age) FROM students;
  • MIN/MAX
SELECT MIN(age), MAX(age) FROM students;

SQL 조건문

  • AND
  • OR
  • NOT
SELECT *
FROM students
WHERE NOT name = 'Bob' AND age > 20 OR name = 'Alice'; 

: 이름이 Bob이 아니고 나이가 20살 초과이거나 이름이 Alice인 사람의 정보 추출

기타 SQL 문법

학부 수업 '데이터베이스개론' 자료 참고

중복 행 제거

  • DISTICT
SELECT DISTINCT age
FROM students
WHERE age > 20.

날짜 간의 일수 (차이)를 구할 때

  • DATEDIFF
SELECT DATEDIFF(end_date, start_date)
FROM team_projects;

그룹화

  • GROUP BY
  • HAVING: 그룹 검색 조건 지정
SELECT dno, COUNT(*), AVG(age)
FROM employees
WHERE age > 25
GROUP BY dno
HAVING COUNT(*) > 1;

: dno 칼럼을 기준으로 그룹화하여 행의 개수가 1개보다큰 그룹의 그룹별 행 개수와, 그룹별 나이의 평균 제공.

profile
To Dare is To Do

0개의 댓글