카테캠

[카테캠] 프리코스 2주 1일차 - SQL 조회와 조작

wlsgk7779 2026. 5. 30. 06:23

1. SQL 시작하기

1-1. SQL이란?

▶ 데이터베이스란?

여러 사람이 공유해서 사용할 목적으로 통합하여 관리되는 데이터의 모음!

데이터베이스의 종류에 따라 사용방법이 조금씩 다르지만 검색분석에 사용되는

기본적인 방법은 데이터베이스 종류와 상관없이 동일하다!

 

▶ SQL

Structed Query Language의 약자로

데이터베이스에 접근하고 조작하기 위한 표준 언어

 

SQL이 할 수 있는 것

1. 데이터 검색

2. 데이터 삽입

3. 데이터 수정

4. 데이터 삭제

5. 데이터베이스 생성

6. 테이블 생성

7. 등

 

1-2. 테이블에서 데이터 검색하기 

▶ 관계형 데이터 베이스

하나 이상의 테이블로 이루어지며

서로 연결된 데이터를 가지고 있음!

 

SQL을 통해 제어 가능 !

 

▶ 테이블의 구성요소

컬럼 : 주제, 제목 같은 것

레코드 : 내용, 값 같은 것

 

▶ 테이블에서 데이터를 가져오기

SELECT : 검색 명령어
FROM : ~로 부터
WHERE : 조건

SELECT 검색대상1, 검색대상2.. FROM 테이블명;

테이블에서 검색 컬럼에 대한 모든 정보 검색하기 !* 을 통해 모든 컬럼에 대해 정보를 가져올 수 있다 !

 

DISTINCT : 컬럼내용 중복제거 !

 

검색할 컬럼에 대한 내용에 중복이 있을 경우 한가지만 보여준다.DISTINCT 뒤에 2개 이상의 컬럼을 적으면,

한 쪽 컬럼에 중복이 있어도 다른 쪽 컬럼의 값이 다르면 다르게 취급 !

SELECT DISTINCT 제목, 저자 FROM book;

"어린왕자", "김진하"
"어린왕자", "황은영"

위 상황처럼 한 쪽 컬럼에 중복이 있어도,
다른 쪽 컬럼의 값이 다르면 다르게 취급 !

 

1-3. 조건을 추가하여 검색하기

WHERE : 조건을 만드는 방법

 

검색하고자 하는 데이터의 조건을 설정할 수 있는 명령이다.

SELECT * FROM book WHERE title = '돈키호테';

book 테이블에서 title 속성이 '돈키호테'인 모든 컬럼 검색

 

1-4. 여러 개의 조건 추가하기

국어성적이 90점 이상이거나 수학 성적이 80점 초과인 데이터를 검색하는 등,

여러 개의 조건을 검사하여 검색하는 것을 알아보자.

 

▶비교연산자

> , <

>= , <=

=

!=

SELECT * FROM score WHERE korean >= 90;

 

▶복합조건 연산자

 

AND, &&

OR, ||

NOT, !

SELECT * FROM score WHERE korean >= 90 OR math > 80;

 

▶기타 연산자

 

BETWEEN

SELECT * FROM score WHERE math BETWEEN 80 AND 90;
math에서 80과 90사이에 값 (80과 90도 포함)

 

IN

A IN B
A에서 B에 해당하는 것

 

NOT IN

A NOT IN B
A에서 B에 없는 것

 

 

2. 데이터를 제어하는 DML

2-1. 테이블에서 유사한 값 찾기

▶LIKE : 특정 문자가 포함된 문자열을 찾고 싶을 때 사용하는 명령

 

WHERE 뒤에서 사용할 수 있다!

 

▷와일드카드 %

문자열에서 특정 문자열을 포함하는 것을 찾고 싶을 때 LIKE와 함께 사용한다 !

SELECT * FROM book WHERE title LIKE '어린왕자'; - title에서 '어린왕자'를 찾기
SELECT * FROM book WHERE title LIKE '왕자%'; - title에서 '왕자'로 시작하는 것 찾기
SELECT * FROM book WHERE title LIKE '%왕자'; - title에서 '왕자'로 끝나는 것 찾기
SELECT * FROM book WHERE title LIKE '%왕자%'; - title에서 '왕자'가 들어가는 것 찾기

 

 

2-2. 데이터 정렬하기

▶ORDER BY : 데이터를 검색할 때 정렬하여 결과를 추출하는 명령어

 

WHERE을 쓰는 자리에 ORDER BY를 쓴다!

SELECT * FROM score ORDER BY math DESC; - 수학 과목을 기준으로 내림차순 정렬
SELECT * FROM score ORDER BY math ASC; - 수학 과목을 기준으로 오름차순 정렬

 

2-3. 테이블에 데이터 삽입하기

▶INSERT INTO : 테이블에 새 데이터 삽입하기

 

INSERT INTO book(id, title, author, publicher)
VALUES('3', '햄릿', '윌리엄 셰익스피어', '엘리스 출판');

INSERT INTO book  --( )를 안 적을 경우 정의한 순서대로 데이터 넣으면 됨 !
VALUES('3', '햄릿', '윌리엄 셰익스피어', '엘리스 출판');