[SQL]데이터베이스 가져오기

Shy·2024년 1월 3일

MySQL

목록 보기
3/7

데이터 가져오기

우리가 데이터베이스에서 데이터를 가져올 때, 어떻게 가져올까?

"고객 리스트를 가져오세요."
"상품 리스트를 가져오세요."

데이터베이스에서 이러한 데이터는 가져오기 위해서는 다음과 같은 키워드가 필요하다.

SELECT (모든 쿼리에 필수 포함 키워드)
값을 가져올 컬럼을 선택하는 키워드. 단, 컬럼을 선택하기 위해서는 테이블을 먼저 선택해야 한다.

SELECT 123; --결과 : 123
SELECT 1+2+3; --결과:6
SELECT “ABC”; --결과:“ABC”

테이블에서 데이터 가져오기

FROM: 데이터를 가져올 테이블을 지정하는 키워드

  • FROM [테이블 이름] 형식으로 사용합니다.
  • 테이블이 어떤 데이터베이스 안에 있는지 데이터베이스 이름도 같이 명시해야 한다.
    • 단, USE 키워드를 통해 사용할 데이터베이스를 지정해 주었다면 생략 가능하다.

SELECT의 특징

  • 모든 쿼리에 필수 포함 키워드이다.
  • 활용 방법
    • (1) 숫자, 문자 데이터를 가져올 수 있다.
      • SELECT 데이터 형식으로 사용한다.
    • (2) 컬럼을 선택해 컬럼의 값을 가져올 수 있다.
      • SELECT [컬럼 이름] 형식으로 사용한다.
    • *을 통해 컬럼 전체를 가져올 수 있다.
      • SELECT *형식으로 사용한다.
      • *은 컬럼 전체(ALL)을 의미한다.

SELECT, FROM 문법

  1. 컬럼을 하나만 선택하는 경우는 다음과 같다.
SELECT [컬럼 이름]
FROM [데이터베이스 이름].[테이블 이름]; // 점을 통해 데이터베이스와 테이블을 분리하여 표현한다.
  1. 컬럼을 여러개 선택하는 경우는 다음과 같다.
SELECT [컬럼 이름], [컬럼 이름], ... [컬럼 이름]
FROM [데이터베이스 이름].[테이블 이름];
  1. 컬럼을 전체 선택하는 경우는 다음과 같다.
SELECT *
FROM [데이터베이스 이름].[테이블 이름];

데이터베이스 지정

데이터베이스를 지정해주지 않으면 테이블을 특정할 수 없다.

두 가지 명령어가 있다.

SELECT [컬럼 이름]
FROM [데이터베이스 이름].[테이블 이름];

위 명령어는 하나의 쿼리(query) 내에서 특정 데이터베이스의 테이블을 직접 참조한다. 이 방식은 여러 데이터베이스의 테이블에 걸쳐 작업을 수행할 때 유용하다. 예를 들어, 현재 선택된 데이터베이스 외의 다른 데이터베이스에 있는 테이블에서 데이터를 검색할 때 사용할 수 있다.

USE [데이터베이스 이름]; -- 데이터베이스 지정
SELECT [컬럼 이름]
FROM [테이블 이름];

위 명령어에서는, 먼저 USE 명령어를 사용하여 작업할 데이터베이스를 지정하고, 이후에 해당 데이터베이스 내의 테이블에서 데이터를 검색한다. 이 방식은 주로 특정 데이터베이스에서 연속적인 작업을 수행할 때 사용된다. USE 명령어를 통해 데이터베이스를 선택한 후에는, 그 데이터베이스 내의 테이블을 참조할 때 데이터베이스 이름을 생략할 수 있다.

결론적으로, 두 명령어는 결과적으로 동일한 작업을 수행하지만, 사용하는 상황과 문맥에 따라 선택할 수 있다. 첫 번째 방식은 데이터베이스 간에 작업을 할 때 유용하고, 두 번째 방식은 한 데이터베이스 내에서 연속적인 작업을 할 때 적합하다.

예제

별명 붙이기

AS: 가져온 데이터에 별명을 지정하는 키워드, 컬럼 이름에 부가 설명을 하거나 불필요한 내용을 제거할 때 사용한다.

AS 특징

  • AS [컬럼 별명] 형식으로 사용한다.
  • 테이블 내의 실제 컬럼 이름은 변하지 않으며, 별명은 쿼리 내에서만 유효하다.
    • 만약 실제 컬럼 이름을 변경하고 싶다면, ALTER TABLE 구문을 사용한다.
SELECT [컬럼 이름] AS [컬럼 별명] FROM [테이블 이름];

데이터 일부만 가져오기

LIMIT: 가져올 데이터의 로우 개수를 지정하는 키워드. 데이터의 일부만 확인하고 싶을 때 사용한다.

LIMIT 특징

  • LIMIT [로우 수] 형식으로 사용한다.
  • 쿼리의 가장 마지막에 위치한다.
  • 만약 입력한 숫자가 전체 row 수보다 크다면, 있는 row까지만 가져온다.

예제

중복 제거하기

DISTINCT: 중복된 데이터는 제외하고 같은 값은 한 번만 가져오는 키워드. 컬럼에 어떤 값들이 있는 지 확인하고 싶을 때 사용한다,

DISTINCT의 특징

  • DISTINCT [컬럼 이름] 형식으로 사용한다.
  • SELECT 절에 위치하여 컬럼의 유일한 값들을 가져온다.

electric이 중복되게 있지만, 한 번만 가져오는 것을 볼 수 있다.

profile
신입사원...

0개의 댓글