inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[백문이불여일타] 데이터 분석을 위한 중급 SQL

질문입니다.

228

khjsj

작성한 질문수 3

0

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

SQL문을 쓰다보면,

 

SELECT 000, 000, 000

DISTINT *,

SUM(*), AVG(*)

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

 

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

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

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

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

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

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

sql

답변 1

1

지식공유자 J

컬럼명과 테이블명을 그대로 쓸 때는 괄호나 따옴표 없이 바로 쓰면 됩니다.
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 등)인 데이터를 찾음

리트코드 1280. Students and Examinations

0

77

3

16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문

0

90

2

African Cities 문제관련 질문

0

57

1

SQL 코딩테스트 질문

0

211

1

HACKER RANK에서 문제찾기

0

100

2

강의 자료 다운로드

0

91

2

Asian population 문제가 없어요

0

81

2

INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'

0

70

2

별칭 관련해서 질문 있습니다.

0

81

2

rising temperature 문제 질문

0

99

2

해커랭크 TOP EARNERS 문제 질문

0

102

1

ON 뒤에 질문

0

98

2

INNER JOIN 질문. 강의와 결과값이 다릅니다.

0

201

3

END, 뒤에 * 붙이면 에러가 뜹니다

1

206

2

CustomerID가 중복되서 나타나요

0

236

3

별칭이 전체 테이블을 못 불러와요.

0

145

2

CASE WHEN 쿼리 오류 문의

1

326

3

CASE문제풀이 질문

0

128

1

Customers Who Never Order 풀다가 Alias관련 질문사항

0

139

1

Average Population 질문

0

133

1

Revising Aggregations - The Count Function 질문

0

105

1

Average Population of Each Continent 에대해서 질문

0

194

3

w3schools 에서 쿼리 작성 질문

0

160

1

INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?

0

330

1