데이터 가져오기

KOO HEESEUNG·2021년 10월 12일
0

SQL 기초

목록 보기
2/8
post-thumbnail

스크립트는 <SQL in 10 Minutes(5th Edition)>(벤 포터 著, 인사이트) 에서 제공하는 것을 사용하였고, DBMS는 Oracle에서 제공하는 연습용 사이트, Oracle Live SQL(https://livesql.oracle.com) 을 사용하였습니다.

SELECT 문

테이블에서 데이터를 가져오기 위해서는 SELECT 문을 사용한다. 이때, 무엇을(SELECT) 어디에서(FROM) 가져와야 하는지 명시해주어야 한다.
SELECT 문은 테이블의 모든 행을 가져온다.

/* 하나의 열 가져오기 */
SELECT prod_name
FROM Products;  -- 하나의 구문을 끝낼 경우, 반드시 마지막에 세미콜론을 붙인다.

/* 여러 개의 열 가져오기 */
SELECT prod_id, prod_name -- 각 열은 콤마로 구분한다.
FROM Products;

/* 모든 열 가져오기 */
SELECT *       -- 와일드카드(*)를 사용하면 해당 테이블에 존재하는 모든 열을 가져온다.
FROM Products;

중복 제한

중복된 행을 출력하지 않고자 하면, DISTINCT 를 사용한다.
DISTINCT는 해당 구문 뒤에 지정한 모든 열에 적용되므로, 특정한 열에만 부분적으로 적용할 수 없다.

SELECT DISTINCT vend_id
FROM Products;

결과 제한

SELECT 문은 모든 행을 가져오기 때문에, 특정한 n번째 행/n개의 행을 가져오고 싶을 경우에는 다음과 같이 작성한다:

/* ORACLE DB */
SELECT prod_name
FROM Products
WHERE ROWNUM <= 5;  -- 행의 개수를 세어 위에서부터 5번째까지만 가져옴

/* MySQL(MariaDB) */
SELECT prod_name
FROM Products
LIMIT 5;            -- 5개의 행만 가져오도록 제한

SELECT prod_name
FROM Products
LIMIT 5 OFFSET 5;   -- OFFSET은 n+1번째 행부터 가져올 것을 지정.(첫 행은 0번째 행임에 주의!)

주석

ORACLE 에서는 한 줄 주석으로 -- 를 사용, 여러 줄 주석으로 /* */ 를 사용한다.
MySQL(MariaDB)에서는 한 줄 주석으로 #-- 를, 여러 줄 주석으로 /* */ 를 사용한다.

0개의 댓글