[SEB BE] Section 2. SQL 데이터베이스 기본명령어

박두팔이·2023년 2월 1일
0

데이터베이스

목록 보기
1/5

데이터베이스 관련 명령어

데이터베이스 생성

CREATE DATABASE 데이터베이스_이름;

데이터베이스 사용

USE 데이터베이스_이름;

데이터베이스 정보확인

DESCRIBE 테이블이름;


SQL명령어

  • SELECT 출력목록; (출력목록에 *을 넣으면 와일드카드로써 전부 선택을 뜻 함)

💡 SELECT 실행순서

1. FROM
2. WHERE
3. GROUP BY
4. HAVING
5. SELECT
6. ORDER BY
  • FROM 테이블명;
  • WHERE 컬럼명="값"
// NULL을 찾을 때. IS와 함께 사용함
SELECT *
FROM 테이블_이름
WHERE 특성_1 IS NULL

// NULL값을 제외한 데이터만 얻고싶다면
SELECT *
FROM 테이블_이름
WHERE 특성_1 IS NOT NULL
  • ORDER BY 컬럼명;
// 내림차순 (DESC를 제외하면 오름차순이 된다(기본형))
SELECT *
FROM 테이블_이름
ORDER BY 특성_1 DESC
  • LIMIT 20;
  • DISTINCT 컬럼명;
SELECT DISTINCT 특성_1
FROM 테이블_이름

SQL 내장함수

집합연산: 레코드를 조회하고 분류한 뒤, 특정 작업을 하는 연산

  • GROUP BY
    group by는 행을 그룹화하는 것을 의미한다. GROUP BY절은 주로 집계함수(여러 행의 값을 더하거나 평균값을 내거나 개수를 세는 함수)와 같이 사용된다.
  1. COUNT() : 행의 개수를 세어줌
  2. AVG() : 행 안에 있는 값의 평균을 내어줌
  3. MIN() : 행 안에 있는 값의 최솟값을 반환해줌
  4. MAX() : 행 안에 있는 값의 최댓값을 반환해줌
  5. SUM() : 행 안에 있는 값의 합을 내어줌
  • HAVING 조건
    HAVING 절은 GROUP BY 를 통해 데이터를 그룹핑 한 행에만 사용할 수 있다.
SELECT date,
ROUND(AVG(price), 2) AS avg_price
FROM visit
GROUP BY date
HAVING COUNG(*) > 3
ORDER BY date;

💡 HAVING절과 WHERE의 차이?
데이터를 필터링한다는 측면에서 바라보면다면 둘은 비슷할 수 있다. 그러나 둘은 분명한 차이가 존재한다.

그러나 둘의 차이는 분명하다.
WHERE절은 행들이 그룹화 되기 전, 하나의 행을 필터링하는 데 사용한다. 그렇기에 WHERE절이 GROUP BY절 전에 적혀있는 것을 확인할 수 있다.

반면 HAVING절은 행들이 그룹지어진 후의 행들을 필터링하는데 사용된다. 쿼리문을 살펴보면 HAVING절은 GROUP BY절 뒤에 적혀있다.

SELECT CustomerId, AVG(Total)
FROM invoices
GROUP BY CustomerId
HAVING AVG(Total) > 6.00
profile
기억을 위한 기록 :>

0개의 댓글