일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 애플
- 손민한
- 문파문파
- 문파문파 공략
- mysql
- 디자인 패턴
- 안드로이드
- Linux
- ubuntu 12.04
- Tizen
- 뉴스타파
- 블로그
- NC다이노스
- 타이젠
- 김경문
- 단통법
- 프로야구
- 야구
- 태그를 입력해 주세요.
- ubuntu
- 국정원
- arm
- 조세피난처
- NC 다이노스
- 우분투
- 정보시스템감리사
- 데이터베이스
- 인공지능
- 해외직구
- 리뷰
- Today
- Total
꿈꾸는 사람.
[SQL][SELEC 명령어]. 초간단 학습! 본문
SQL은 관계형 데이터베이스에 저장된 데이터를 조작하고 관리하기 위해 만들어진 프로그래밍 언어이다.
- 관계형 데이터베이스는 하나 이상의 테이블에 정보를 구조화한 데이터베이스이다.
- 테이블은 행과 열로 구조화된 데이터의 집합이다.
문장은 데이터베이스가 유효한 명령으로 인식하는 문자열이다.
SQL 명령은 표1 정도를 알아볼 것이고 먼저 질의하는 SELECT 문의 사용법을 알아 본다.
표 1. SQL 명령.
SQL 명령 |
설명 |
CREATE TABLE |
새로운 테이블을 생성한다. |
INSERT INTO |
테이블에 새로운 행을 추가한다. |
SELECT | 테이블로부터 데이터를 |
UPDATE |
테이블에 있는 행을 편집한다. |
ALTER TABLE | 기존 테이블을 변경한다. |
DELETE | 테이블에서 행들을 분리한다. |
단순 질의(Query) 연습
0. 사용할 movies table
movies 테이블은 id, name, genre, year, imdb_rating의 열을 가지고 레코드들의 일부는 아래와 같다.
1. SELECT
SELECT는 데이터베이스에서 데이터를 조회 할 때마다 사용한다.
예1) 원하는 열만 조회
-. 여러 열을 쉼표로 열 이름을 분리하여 한 번에 조회 할 수 있다.
SELECT name, imdb_rating FROM movies;
-. 실행 결과
name |
imdb_rating |
Avatar | 7.9 |
Jurassic World | 7.3 |
The Avengers | 8.1 |
The Dark Knight | 9 |
Star Wars: Episode I - The Phantom Menace | 6.6 |
Star Wars | 8.7 |
Avengers: Age of Ultron | 7.9 |
The Dark Knight Rises | 8.5 |
Pirates of the Caribbean: Dead Mans Chest | 7.3 |
Iron Man 3 | 7.3 |
예2) 조회할 열에서 중복된 행(레코드)을 제외한 유일한 값만 반환.
-. genre 속성의 DISTINCT 키워드를 가진 SELECT를 수행하면 중복된 장르(genre) 제외한 장르의 종류만 볼 수 있다.
SELECT DISTINCT genre FROM movies;
-. 실행 결과
예3) WHERE 절 이용하여 레코드를 선택할 기준을 지정하기.
-. WHERE 절의 조건들을 적용하여 조회한 결과를 걸러준다.
SELECT * FROM movies WHERE year >= 2000;
-. WHERE 절에 사용할 operator
Operator |
설명 |
= |
equals |
!= |
not equals |
> |
greater than |
< |
less than |
>= |
greater than or equal to |
<= |
less than or equal to |
-. 실행 결과
예4) WHERE 절에 LIKE(특수 오퍼레이터) 이용해 특정 패턴 찾기.
지원하는 두 개의 wild character 연산자
_ |
하나의 문자에 해당한다. |
% |
0개 이상의 문자를 표시한다. |
그리고 LIKE는 대소 문자를 구분하지 않는다.
예 4.1) WHERE 절에 LIKE(특수 오퍼레이터) 조건들을 적용하여 열에서 특정 패턴을 가진 값을 찾아 준다.
SELECT * FROM movies
WHERE name LIKE 'Se_en';
-. 실행 결과
id |
name |
genre |
year |
imdb_rating |
219 |
Se7en |
drama |
1995 |
8.6 |
220 |
Seven |
drama |
1979 |
6.1 |
예 4.2) LIKE에 조건들을 wild character 적용하기.
SELECT * FROM movies
WHERE name LIKE '%war%';
-. 실행 결과
예5) WHERE 절에 BETWEEN 이용해 지정한 범위 내의 결과를 필터링 하기.
"greater than equal AND less than equal" 조건들의 조합을 대신하여 사용한다.
SELECT * FROM movies
WHERE year BETWEEN 1998 AND 2000;
-. 실행 결과
예6) WHERE 절에 다중 조건 결합하여 사용 하기.
여러 조건들을 AND, OR 등을 이용하여 결합한다.
예 6.1) AND 연산자.
SELECT * FROM movies
WHERE year BETWEEN 1990 AND 2000
AND genre = 'action';
-. 실행 결과
예 6.2) OR 연산자.
SELECT * FROM movies
WHERE year BETWEEN 1998 AND 1999
OR name = 'Bat%';
-. 실행 결과
예7) ORDER BY 절에 다중 조건 결합하여 사용 하기.
하나 이상의 열에 대하여 데이터를 오름차순 또는 내림차순으로 정렬하여 보여 준다.
-. 기본 문법.
SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
-. 2014년 이후 만들어진 영화 중 점수가 높은 것부터 보여주는 SQL 문.
SELECT * FROM movies
WHERE year > 2014
ORDER BY imdb_rating DESC;
-. 실행 결과
예8) LIMIT 절로 출력 개수를 제한 하기.
-. 2014년 이후 만들어진 영화 중 점수가 높은 것 3개만 보여준다.
SELECT * FROM movies
ORDER BY imdb_rating DESC
LIMIT 3;
-. 실행 결과
-. 2014년 이후 만들어진 영화 중 점수가 낮은 것 3개만 보여준다.
SELECT * FROM movies
ORDER BY imdb_rating ASC
LIMIT 3;
-. 실행 결과
'IT > Database' 카테고리의 다른 글
[MySQL][Error 13 해결] 파일 읽기/쓰기 실패 (Can't create/write to file) (2) | 2017.02.10 |
---|---|
[초간단 SQL 학습][MySQL] 파일로부터 데이터를 읽어오기. (0) | 2017.02.08 |
[초간단 SQL 학습][MySQL] 데이터베이스, 테이블 만들기. (0) | 2016.04.23 |
[SQL][SELECT 명령어] aggregate 함수를 이용한 검색. (0) | 2016.04.17 |
[Database] 데이터 모델링 (0) | 2016.04.07 |