SQL SELECT 쿼리문을 사용하여 데이터 조회하는 방법
- SQL에서 데이터 조회를 위해 SELECT 키워드를 사용한다.
- 관심 있는 컬럼들을 SELECT에서 명시하고, 조회할 테이블을 FROM에서 명시한다.
- 조건이 있는 경우 WHERE 키워드를 사용하여 조건을 명시한다.
- 조건에 맞는 튜플이 선택되어 결과로 반환된다.위 쿼리는 customers 테이블에서 name, email, phone_number를 조회한다.이 쿼리는 city가 'New York'에 해당하는 모든 tuple들을 가져온다.
SELECT * FROM customers WHERE city = 'New York';
SELECT name, email, phone_number FROM customers;
별칭을 사용하여 SQL 문을 간결하게 작성하는 방법
- 'AS'는 테이블이나 애트리뷰트의 별칭을 붙여주는 데 사용됨.
- 복잡한 SQL 문을 작성할 때, 'AS' 키워드를 사용하면 데이터로부터 별칭을 만들어서 간결한 SQL 문을 작성할 수 있음.
- AS 키워드 뒤에 '영구적인 테이블 별칭'을 붙일 수 있으며, 별칭을 통해 간결하고 명확하게 코드를 작성할 수 있음.
SELECT customer_name AS name, contact_email AS email, phone AS phone_number FROM customers;
DISTINCT
- select 결과에서 중복되는 tuples은 제외하고 싶을 때 사용
SQL 쿼리 작성 시 'LIKE'와 '%'를 사용하여 원하는 데이터 검색하기
- LIKE 키워드를 사용하여 특정 문자열을 포함하는 데이터를 검색할 수 있다.
SELECT * FROM customers WHERE last_name LIKE 'Smi_h';
이 쿼리는 "Smi"로 시작하고 "h"로 끝나는 이름을 가진 모든 tuple들을 가져온다.
- 퍼센트 기호 '%'를 사용하면 0개 이상의 문자를 의미하며, 앞뒤로 붙여주어 해당 문자열을 포함하는 데이터를 찾는다.
- 이름에 'ng'가 있는 데이터를 찾을 때는 'WHERE name LIKE '%ng%'로 쿼리를 작성한다.
- 'ng'를 포함하는 이름이 존재하면 결과로 나타난다.
SELECT * FROM products WHERE name LIKE '%ng%';
- 'j'로 시작하고 길이가 네 자인 이름을 조회하는 쿼리는
SELECT 이름 FROM 테이블 WHERE name LIKE 'j___'
이다. - 또한, 백분율 기호(%)나 언더스코어()를 원래 의미대로 사용하려면 백슬래시''를 추가하여 이스케이프 시켜야한다.
- 예를 들어
SELECT 프로젝트 FROM 테이블 WHERE 어트리뷰트 LIKE '%search\_'
은 길이가 네 자인 프로젝트 이름 중 '%'로 시작하거나 '_'로 끝나는 것을 찾는다.
4. Matching specific positions:
SELECT * FROM users WHERE username LIKE '_a_i_';
* (asterisk)
선택된 tuples의 모든 attributes를 보여주고 싶을 때 사용한다.
SELECT * FROM customers;
WHERE 절이 없다면 테이블에 모든 tuples을 반환한다.
참고
'ComputerScience > Database' 카테고리의 다른 글
[Database] 인스타그램의 Justin Bieber 문제 (0) | 2024.02.29 |
---|---|
[Database]DB 정규화(normalization)개념과 정규화 과정(Normal form), 1NF ~ BCNF (0) | 2024.02.26 |
[Database] SQL로 DB에 데이터를 추가(insert)하고 수정(update)하고 삭제(delete)하는 방법 (0) | 2024.02.20 |
[Database] SQL의 개념과 SQL로 데이터베이스를 정의하는 법(table 생성하기, 각종 데이터 타입, constraints, 키(key)들을 활용) (0) | 2024.02.18 |
[Database] functional dependency(함수 종속) 이란? (1) | 2024.02.06 |