성장에 목마른 코린이

[DB] DB 조작 (SELECT, WHERE, LIKE, IN, ORDER BY) 본문

데이터베이스

[DB] DB 조작 (SELECT, WHERE, LIKE, IN, ORDER BY)

성장하는 코린이 2022. 4. 9. 03:54
728x90
  • SELECT, FROM, SELECT DISTINCT, LIMIT, WHERE,
  • Wildcard, LIKE, NULL, IS NULL, IS NOT NULL, IN, AS, 
  • BETWEEN _ AND _, ORDER BY, DELETE FROM _ WHERE

SELECT

SELECT는 데이터 베이스에서 정보를 선택하고 보여줍니다.

FROM

FROM 뒤에는 결과를 가져올 테이블을 명시합니다.

// 테이블_1 안의 특성_1와 특성_2를 찾아 보여줍니다.
SELECT 특성_1, 특성_2
FROM 테이블_1

// SQL Part 4_1
// user 테이블에 존재하는 모든 데이터에서 name 컬럼만을 확인하기 위한 SQL을 작성해주세요.
SELECT name FROM user;

// 테이블_1에있는 모든 정보를 찾아 보여줍니다.
SELECT *
FROM 테이블_1

// SQL Part 4_2
// user 테이블에 존재하는 모든 컬럼을 포함한 모든 데이터를 확인하기 위한 SQL을 작성해주세요.
SELECT * FROM user;

SELECT DISTINCT

데이터베이스에서 중복된 되지 않은 데이터를 선택합니다

// 특성_1을 기준으로 중복되지 않은 값들만 테이블_1로 부터 선택합니다.
SELECT DISTINCT 특성_1
FROM 테이블_1
// 특성_1, 특성_2, 특성_3의 중복되지 않은 데이터값들을 선택합니다.
SELECT DISTINCT 특성_1, 특성_2, 특성_3
FROM 테이블_이름

LIMIT

결과로 출력할 데이터의 개수를 정할 수 있습니다. 쿼리문에서 사용할 때에는 가장 마지막에 추가합니다.

// 데이터 결과를 200개만 출력합니다.
SELECT *
FROM 테이블_이름
LIMIT 200

WHERE

테이블에서 특정 값을 찾습니다.

// 특성_1이 "특정 값"과 동일한 데이터 찾기
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_1 = "특정 값"
// 특성_2가 "특정 값"과 다른 값 찾기
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 <> "특정 값"
// 특정 값보다 크거나 작은 데이터를 필터할 때에는 '<', '>', 
// 비교하는 값을 포함하는 '이상', '이하' 값은 '<=', '>=' 을 사용합니다.
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_1 > "특정 값";

SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_1 <= "특정 값";

Wildcard

문자열의 다른 문자를 대체하는 데 사용합니다.

  • [charlist] - 일치 시킬 문자와 세트 범위를 지정
  • [!charlist] - 일치 하지 않는 문자와 세트 범위를 지정
  • '[ace]%' - a, c, e로 시작하는 문자
  • '%[ace]' - a, c, e로 끝나는 문자
  • '[a-c]%' - a, b 그리고 c로 시작하는 문자
  • '%[a-c]' - a, b 그리고 c로 끝나는 문자

LIKE

문자열에서 특정 값과 비슷한 값들을 필터할 때에는 'LIKE'와 '\%' 혹은 '\*' 를 사용합니다.

// 
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 LIKE "%특정 문자열%"

NULL

  • NULL Values 는 =, <, or <> 사용하여 테스트 하는 것 이 불가능 합니다.
  • IS NULL 그리고 IS NOT NULL 을 사용해야 합니다.

IS NULL

값이 NULL 일 때 IS NULL을 사용합니다.

// 값이 없는 경우 'NULL' 을 찾을 때에는 'IS' 와 같이 사용합니다.
SELECT *
FROM 테이블_이름
WHERE 특성_1 IS NULL

IS NOT NULL

값이 NULL 이 아닐때 IS NOT NULL을 사용합니다.

// 값이 없는 경우를 제외할 때에는 'NOT' 을 추가해 이용합니다.
SELECT *
FROM 테이블_이름
WHERE 특성_1 IS NOT NULL

IN

 

리스트의 값들과 일치하는 데이터를 필터할 때 사용합니다.

// 특성_2의 리스트의 값("특정값_1", "특정값_2")들과 일치하는 데이터를 
// 필터할 때에는 'IN' 을 사용합니다.
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 IN ("특정값_1", "특정값_2")

AS (Alias)

AS는 Alias(별칭)의 약자로, 테이블 또는 테이블의 열에 임시 이름을 지정하는 데 사용됩니다.

// 열(Column)에 별칭 만들어주기
SELECT column_name AS alias_name
FROM table_name;

// 테이블에 별칭 만들어주기
SELECT column_name(s)
FROM table_name AS alias_name;

 

BETWEEN _ AND _

주어진 범위 내에서 값을 선택합니다. 값은 숫자, 텍스트 또는 날짜일 수 있습니다.

SELECT *
FROM table_1
WHERE column_1 BETWEEN value1 AND value2;

SELECT * FROM table_1
WHERE column_2 BETWEEN 10 AND 20;

 

DELETE FROM _ WHERE

데이터 베이스의 테이블에서 WHERE에 일치하는 데이터를 삭제합니다.

DELETE FROM table_1
WHERE 특성_1;

DELETE FROM table_1
WHERE 특성_1 = "특정 값";

ORDER BY

돌려받는 데이터 결과를 어떤 기준으로 정렬하여 출력할지 결정합니다.

  • 기본적으로는 오름차순 정렬입니다.
  • 내림차순은 DESC(Descending)를 사용해야 합니다.
// 내림 차순으로 테이블_1에 있는 데이터의 결과를 정렬해서 표시합니다.
SELECT *
FROM 테이블_1
ORDER BY 특성_1 DESC
Comments