질문입니다.
232
작성한 질문수 3
초급부터 들으면서 생긴 아주 기초적인 질문이긴 한데요..
SQL문을 쓰다보면,
SELECT 000, 000, 000
DISTINT *,
SUM(*), AVG(*)
LIKE 'a%' (큰따옴표를 쓰는 경우도 있는지는 모르겠네요)
위와 같이 어떤 것은 테이블/컬럼명을 그래도 쓰고,
어떤것은 괄호()로 묶어주고, 어떤 것은 따옴표를 쓰고...
LIKE같은 경우는 데이터 소스명이라기 보다는 문자열 표현이라 좀 구분이 가는데,
DISTINCT/SELECT 등과 SUM 등의 경우와 같이
어떤것은 괄호로 묶어주고, 어떤 것은 아니고
이 기준이 무엇인지 궁금합니다ㅠ
답변 1
1
컬럼명과 테이블명을 그대로 쓸 때는 괄호나 따옴표 없이 바로 쓰면 됩니다.
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
94
3
16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문
0
104
2
African Cities 문제관련 질문
0
67
1
SQL 코딩테스트 질문
0
251
1
HACKER RANK에서 문제찾기
0
111
2
강의 자료 다운로드
0
102
2
Asian population 문제가 없어요
0
92
2
INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'
0
81
2
별칭 관련해서 질문 있습니다.
0
89
2
rising temperature 문제 질문
0
112
2
해커랭크 TOP EARNERS 문제 질문
0
112
1
ON 뒤에 질문
0
107
2
INNER JOIN 질문. 강의와 결과값이 다릅니다.
0
212
3
END, 뒤에 * 붙이면 에러가 뜹니다
1
214
2
CustomerID가 중복되서 나타나요
0
244
3
별칭이 전체 테이블을 못 불러와요.
0
155
2
CASE WHEN 쿼리 오류 문의
1
344
3
CASE문제풀이 질문
0
136
1
Customers Who Never Order 풀다가 Alias관련 질문사항
0
143
1
Average Population 질문
0
146
1
Revising Aggregations - The Count Function 질문
0
115
1
Average Population of Each Continent 에대해서 질문
0
203
3
w3schools 에서 쿼리 작성 질문
0
173
1
INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?
0
336
1





