• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

질문입니다.

23.01.06 09:46 작성 조회수 143

0

초급부터 들으면서 생긴 아주 기초적인 질문이긴 한데요..

SQL문을 쓰다보면,

 

SELECT 000, 000, 000

DISTINT *,

SUM(*), AVG(*)

LIKE 'a%' (큰따옴표를 쓰는 경우도 있는지는 모르겠네요)

 

위와 같이 어떤 것은 테이블/컬럼명을 그래도 쓰고,

어떤것은 괄호()로 묶어주고, 어떤 것은 따옴표를 쓰고...

LIKE같은 경우는 데이터 소스명이라기 보다는 문자열 표현이라 좀 구분이 가는데,

DISTINCT/SELECT 등과 SUM 등의 경우와 같이

어떤것은 괄호로 묶어주고, 어떤 것은 아니고

이 기준이 무엇인지 궁금합니다ㅠ

답변 1

답변을 작성해보세요.

0

컬럼명과 테이블명을 그대로 쓸 때는 괄호나 따옴표 없이 바로 쓰면 됩니다.
SELECT a, b, c
SELECT DISTINCT a, b, c : a, b, c의 값이 모두 같은 행이 두 개 이상일 시 중복값은 제거하고 한 번씩만 출력
SELECT * : 테이블의 모든 컬럼 출력

SUM(), AVG() 등은 정해진 기능을 하는 함수입니다. SUM 만으로는 안 되고 괄호까지 붙어야 동작할 수 있어요. 괄호 안에 넣은 값(보통 컬럼)이 함수가 하는 연산의 재료가 됩니다.
SUM(a) : a 컬럼 값들의 합계를 구함
AVG(b) : b 컬럼 값들의 평균을 구함

따옴표는 말씀하신대로 문자열을 쓸 때 필요합니다. a라는 컬럼을 가진 테이블에서 조회하는 쿼리를 쓸 때, 따옴표 없이 a 라고 쓰면 그 컬럼을 의미하는 것이고 'a'라고 쓰면 컬럼과 상관없이 알파벳 a라는 문자 자체를 의미하게 됩니다.
WHERE a = 'sql' : a 컬럽 값이 'sql'인 데이터를 찾음
WHERE a like 'b%' : a 컬럼 값이 b로 시작하는 문자열(banana, black 등)인 데이터를 찾음