[데이터 취업 스쿨 스터디 노트] 9. SQL 기초 (INSERT, ORDER BY, Comparison Operators, Logical Operators)

WHIT·2024년 6월 3일
0

Data Scientist

목록 보기
11/18

< 수강분량 : SQL CH.4 ~ 7 >

✅ INSERT

실습환경 만들기

실습할 테이블 만들기

# person 테이블 생성 (컬럼 정보는 코드 참고)
CREATE TABLE person
(
	id int,
    name varchar(16),
    age int,
    sex CHAR
);

# 눈으로 확인
DESC person;

INSERT 문법

# 입력한 컬럼 이름의 순서와 값의 순서가 일치하도록 주의

INSERT INTO tablename (column1, column2, ...)
VALUES (value1, value2, ...);

# ID 값이 1인 이효리, 43세, 여자(F) 데이터 추가
INSERT INTO person (id, name, age, sex)
VALUES (1, '이효리', 43, 'F');

# 눈으로 확인
select * from person;

# 모든 컬럼값을 추가하는 경우에는 다음과 같이 컬럼 이름을 지정하지 않아도 되지만, 입력하는 값의 순서가 테이블의 컬럼 순서와 일치하도록 주의

INSERT INTO tablename
VALUES (value1, value2, ...);

# ID 값이 2인 이상순, 48세, 남자(M) 추가
INSERT INTO PERSON
VALUES (2, '이상순', 48, 'M');

# 눈으로 확인
select * from person;

SELECT 문법

# 테이블 내의 특정 칼럼에 대한 데이터를 조회
SELECT column1, column2, ...
FROM tablename;

# person 테이블 내의 이름, 나이, 성별 데이터를 조회
SELECT name, age, sex FROM person;

# 테이블 내의 모든 컬럼에 대한 데이터를 조회
SELECT *
FROM tablename;

# person 테이블 내의 모든 컬럼에 대한 데이터를 조회
SELECT *
FROM person;

WHERE 문법

# 테이블 내에서 조건을 만족하는 데이터 조회
SELECT column1, column2, ...
FROM tablename
WHERE condition;

# person 테이블에서 성별이 여자인 데이터 조회
SELECT * FROM person WHERE sex='F';

UPDATE 문법

UPDATE tablename
SET column1 = value1, column2 = value2, ...
WHERE condition;

# 이효리 나이를 23세로 수정
UPDATE person SET age=23 WHERE name='이효리';

DELETE 문법

DELETE FROM tablename
WHERE condition;

# 이상순 데이터 삭제
DELETE FROM person WHERE name='이상순';

✅ ORDER BY

실습환경 만들기

실습할 테이블 만들기

CREATE TABLE celeb
(
    ID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    NAME varchar(32) NOT NULL DEFAULT '',
    BIRTHDAY date,
    AGE int,
    SEX char(1),
    JOB_TITLE varchar(32),
    AGENCY varchar(32)
);

DESC celeb;

실습할 데이터 추가

INSERT INTO celeb VALUES(1, '아이유', '1993-05-16', 29, 'F', '가수, 텔런트', 'EDAM엔터테인먼트');
INSERT INTO celeb VALUES(2, '이미주', '1994-09-23', 28, 'F', '가수', '울림엔터테인먼트');
INSERT INTO celeb VALUES(3, '송강', '1994-04-23', 28, 'M', '텔런트', '나무엑터스');
INSERT INTO celeb VALUES(4, '강동원', '1981-01-18', 41, 'M', '영화배우, 텔런트', 'YG엔터테인먼트');
INSERT INTO celeb VALUES(5, '유재석', '1972-08-14', 50, 'M', 'MC, 개그맨', '안테나');
INSERT INTO celeb VALUES(6, '차승원', '1970-06-07', 48, 'M', '영화배우, 모델', 'YG엔터테인먼트');
INSERT INTO celeb VALUES(7, '이수현', '1999-05-04', 23, 'F', '가수', 'YG엔터테인먼트');

ORDER BY

SELECT 문에서 데이터를 특정 컬럼을 기준으로 오름차순 혹은 내림차순 정렬하여 조회

  • ASC(Ascending): 오름차순으로 정렬
  • DESC(Descending): 내림차순으로 정렬
SELECT column1, column2, ...
FROM tablename
ORDER BY column, column2, ... ASC | DESC;

# celeb 테이블에서 이름과 나이를 나이순으로 조회
SELECT age, name
FROM celeb
ORDER BY age ASC;


# celeb 테이블에서 이름과 나이를 나이 역순(내림차순)으로 조회
SELECT age, name
FROM celeb
ORDER BY age DESC;

# celeb 테이블에서 이름과 나이를 나이와 이름순으로 정렬하여 조회 (ASC 를 생략해도 기본은 오름차순 정렬)
SELECT age, name
FROM celeb
ORDER BY age, name;

# celeb 테이블에서 이름과 나이를 나이의 역순으로 정렬한 뒤 이름순으로 정렬하여 조회
SELECT age, name
FROM celeb
ORDER BY age DESC, name ACS;

✅ Comparison Operators (비교연산자)

Comparison Operators

예제

# 나이가 29세인 데이터 검색
SELECT name, age FROM celeb WHERE age=29 ORDER BY age;

# 나이가 29세가 아닌 데이터 검색
SELECT name, age FROM celeb WHERE age!=29 ORDER BY age;

# 나이가 29세 보다 큰 데이터 검색
SELECT name, age FROM celeb WHERE age>29 ORDER BY age;

# 나이가 29세 보다 작은 데이터 검색
SELECT name, age FROM celeb WHERE age<29 ORDER BY age;

# 나이가 29세 보다 크거나 같은 데이터 검색
SELECT name, age FROM celeb WHERE age>=29 ORDER BY age;

# 나이가 29세 보다 작거나 같은 데이터 검색
SELECT name, age FROM celeb WHERE age<=29 ORDER BY age;

# 나이가 29세 보다 크거나 작은 (같지 않은) 데이터 검색
SELECT name, age FROM celeb WHERE age<>29 ORDER BY age;

✅ Logical Operators (논리연산자)

Logical Operators

업로드중..

AND 문법

# 조건을 모두 만족하는 경우 TRUE
SELECT column1, column2, ...
FROM tablename
WHERE condition1 AND condition2 AND condition3 ...;

OR 문법

# 하나의 조건이라도 만족하는 경우 TRUE
SELECT column1, column2, ...
FROM tablename
WHERE condition1 OR condition2 OR condition3 ...;

NOT 문법

# 조건을 모두 만족하는 경우 TRUE
SELECT column1, column2, ...
FROM tablename
WHERE NOT condition;

BETWEEN 문법

# 조건값이 범위 사이에 있으면 TRUE
SELECT column1, column2, ...
FROM tablename
WHERE column1 BETWEEN value1 AND value2;

IN 문법

# 목록 안에 조건이 존재하는 경우 TRUE
SELECT column1, column2, ...
FROM tablename
WHERE column IN (value1, value2, ...);

LIKE 문법

조건이 패턴에 맞으면 TRUE
SELECT column1, column2, ...
FROM tablename
WHERE column LIKE patern;

"이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다."

0개의 댓글