본문 바로가기

ComputerScience/Database

[Database] 1. SELECT를 활용한 데이터 조회하기

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을 반환한다.

참고