- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- react
- TMIL
- 오늘도 개발자가 안된다고 말했다
- First Project
- 면접을 위한 cs 전공지식 노트
- Git
- TWIL
- Docker
- mongodb
- TIL
- CRUD
- 코어 자바스크립트
- java
- 아고라스테이츠
- 배포
- 에러핸들링
- LEVEL 1
- LEVEL1
- 코딩테스트
- LEVEL 2
- typescript
- javascript
- Refactoring
- 알고리즘
- 프로그래머스
- Err-Handling
- CSS
- 리팩터링 2판
- MariaDB
- sql
Archives
성장에 목마른 코린이
[DB] DB 조작 (SELECT, WHERE, LIKE, IN, ORDER BY) 본문
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
'데이터베이스' 카테고리의 다른 글
[DB] 생성, 기본 문법 (CREATE, SHOW, DESC, DROP, ALTER) (0) | 2022.04.09 |
---|---|
[DB] SQL 내장함수 (0) | 2022.04.09 |
[DB] 헷갈리는 DB 조작 (INSERT, UPDATE, JOIN) (0) | 2022.04.09 |
[DB] SQL(구조화 쿼리 언어) vs. NoSQL(비구조화 쿼리 언어) (0) | 2022.04.07 |
[DB] 데이터베이스의 필요성, 관련 명령어 (0) | 2022.04.07 |
Comments