- 걷기반 SQL 문법 연습
SQL 문법 연습 1-5
CREATE DATABASE 데이터베이스이름;
CREATE TABLE 테이블 이름 (
컬럼1 데이터 타입,
컬럼2 데이터 타입,
...
);
예시:
CREATE TABLE students (
id INT,
name VARCHAR(50),
age INT
);
SELECT nme, age
FROM students
WHERE age > 20
ORDER BY age DESC
LIMIT 5;
ORDER BY에서 DESC 생략 시 오름차순 정렬
INSERT INTO 테이블이름 (컬럼1, 컬럼2, ...) VALUES (값1, 값2, ...)
예시:
INSERT INTO students (id, name, age) VALUES (1, 'Alice', 23);
UPDATE 테이블이름 SET 컬럼1 = 값1, 컬럼2 = 값2 WHERE 조건;
예시:
UPDATE studetns SET age = 24 WHERE id = 1;
: id가 1인 학생의 age 값을 24로 수정
DELETE FROM 테이블이름 WHERE 조건;
예시:
DELETE FRO< studetns WHERE id = 1;
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를 참조하는 외래키.
SELECT COUNT(*) FROM students;
SELECT SUM(age) FROM students;
SELECT AVG(age) FROM students;
SELECT MIN(age), MAX(age) FROM students;
SELECT *
FROM students
WHERE NOT name = 'Bob' AND age > 20 OR name = 'Alice';
: 이름이 Bob이 아니고 나이가 20살 초과이거나 이름이 Alice인 사람의 정보 추출
학부 수업 '데이터베이스개론' 자료 참고
SELECT DISTINCT age
FROM students
WHERE age > 20.
SELECT DATEDIFF(end_date, start_date)
FROM team_projects;
SELECT dno, COUNT(*), AVG(age)
FROM employees
WHERE age > 25
GROUP BY dno
HAVING COUNT(*) > 1;
: dno 칼럼을 기준으로 그룹화하여 행의 개수가 1개보다큰 그룹의 그룹별 행 개수와, 그룹별 나이의 평균 제공.