728x90
반응형
사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다.
비슷한 차트 검색기
전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요?
www.similarchart.com
SELECT문의 기본 형식
SELECT 열이름
FROM 테이블_이름
WHERE 조건식
GROUP BY 열_이름
HAVING 조건식
ORDER BY 열_이름
LIMIT 숫자
1. FROM
2. WHERE
3. GROUP BY
4. HAVING
5. ORDER BY
6. LIMIT
1. FROM
테이블에서 내용을 가져온다는 의미
2. WHERE
조회하는 결과에 특정한 조건을 추가해서 원하는 데이터만 보고 싶을 때 사용
관계 연산자(<, <=, >, >=, =)
WHERE a >= 5 -- a가 5이상인 데이터
AND / OR
WHERE a >= 5 AND a <= 10 -- a가 5이상 10이하인 데이터
BETWEEN ~ AND
WHERE a BETWEEN 5 AND 10 -- a가 5이상 10이하인 데이터
IN()
WHERE a IN('A', 'B', 'C') -- a가 'A', 'B', 'C'인 데이터
LIKE
%
WHERE a LIKE 'b%' -- a가 b로 시작하는 데이터 (b뒤는 무엇이든 허용)
언더바(_)
WHERE a LIKE '__bb' -- bb앞 두글자는 상관없고 뒤는bb인 데이터
3. GROUP BY
말 그대로 그룹으로 묶어줌. 집계 함수와 함께 쓰인다
SUM() : 합계
AVG() : 평균
MIN() : 최솟값
MAX() : 최댓값
COUNT() : 행의 개수를 센다
COUNT(DISTINCT) : 행의 개수를 센다(중복은 1개만 인정)
SELECT a, sum(b) FROM c GRUOP BY a; -- c에서 a들이 가지고 있는 b의 합을 출력
4. HAVING
WHERE과 비슷한 개념으로 조건을 제한하지만 집계 함수에 대해서 조건을 제한한다. 반드시 GRUOP BY절의 다음에 나와야 한다.
GRUOP BY a
HAVING SUM(b*c) > 1000; -- a들이 가지고 있는 b와 c의 곱이 1000보다 큰 데이터 출력
5. ORDER BY
결과의 값이나 개수에 대해서는 영향을 미치지 않지만, 결과가 출력되는 순서를 조절
ORDER BY date; -- 날짜형식인 date를 날짜순으로 오름차순 정렬
DESC
ORDER BY date DESC; -- 날짜형식인 date를 날짜순으로 내림차순 정렬
두 가지 조건
ORDER BY a DESC, b ASC; -- a를 내림차순 정렬하되, a가 같으면 b가 오름차순인 순서로 정렬
6. LIMIT
LIMIT 3, 2; -- 3번째부터 2건만 조회가능
LIMIT 3; -- 0번째부터 3건만 조회가능
기타 문법
USE
현재 사용하는 데이터베이스를 지정 또는 변경
USE 데이터베이스_이름;
AUTO_INCREMENT
1,2,3과 같이 자동으로 숫자를 입력해 줌
num INT AUTO_INCREMENT NOT NULL PRIMARY KEY
DISTINCT
중복제거
SELECT DISTINCT a FROM b
반응형
'데이터베이스' 카테고리의 다른 글
혼자 공부하는 SQL 읽고 면접 준비겸 정리(23.1.12) (0) | 2024.02.14 |
---|---|
데이터 변경을 위한 SQL문 (22.6.22) (0) | 2024.02.13 |
데이터베이스 개요 (22.6.13) (0) | 2024.02.13 |