[혼공단 8기] 혼공SQL 2주차 미션

코덩이·2022년 7월 17일
1

혼공SQL

목록 보기
3/3
post-thumbnail

03 SQL 기본 문법

  • 테이블에서 데이터를 추출하는 SELECT 문을 완벽히 이해합니다.
  • 여러 개의 데이터를 그룹으로 묶는 방법을 배웁니다.
  • 데이터를 입력, 수정, 삭제하는 방법을 익히고 활용합니다.

1. 기본 중에 기본 SELECT ~ FROM ~ WHERE

USE

  • 데이터베이스를 선택하는 구문
  • 한 번 지정하면 계속 유지된다.

SELECT ~ FROM ~ WHERE

  • SELECT (열 이름) FROM (테이블 이름) WHERE (조건식)
SELECT * 
	FROM member
    WHERE mem_name = '블랙핑크';

관계 연산자

  • WHERE 절에서 크다/작다/같다 등을 지정하는 기호
  • <, <=, >, >=, = 등
SELECT mem_id, mem_name
	FROM member
    WHERE height <= 162;

논리 연산자

  • 관계 연산자가 2개 이상 나오면 AND, OR 등오로 참/거짓을 판별한다.
SELECT mem_name, height, mem_number
	FROM member
    WHERE height >= 165 OR mem_number > 6;

LIKE

  • 문자열 비교 시 모두 허용할 때는 %를, 하나로 지정할 때는 _를 사용한다.
SELECT *
	FROM member
    WHERE mem_name LIKE '우%';

중요 용어

  • 주석 remark 하이픈(-) 2개와 설명으로 구성
  • VARCHAR 문자형으로 CHAR와 거의 비슷함
  • AUTO_INCREMENT 자동으로 숫자를 입력시켜줌. 테이블을 생성할 때 지정함
  • * 모든 열을 지정할 때 사용하는 기호
  • 별칭 alias SELECT 문에서 실제 열 이름 대신에 출력되도록 설정하는 문자
  • % 문자열에서 여러 문자에 대응하는 기호
  • _ 문자열에서 한 문자에 대응하는 기호

서브 쿼리

  • SELECT 안에 또 다른 SELECT 가 들어간 경우
SELECT mem_name, height FROM member
	WHERE height > (SELET height FROM member WHERE mem_name = '에이핑크');

2. 좀 더 깊게 알아보는 SELECT 문

ORDER BY

  • 결과가 출력되는 순서를 조절한다. 오름차순인 ASC와 내림차순인 DESC 중 선택할 수 있다.
SELECT mem_id, mem_name, debut_date
	FROM member
    ORDER BY debut_date DESC;

LIMIT

  • 출력하는 개수를 제한하며, 주로 ORDER BY와 함께 사용합니다.
SELECT *
	FROM member
    LIMIT 3;

DISTINCT

  • 중복된 결과를 제거한다.
  • 조회된 결과에서 중복된 것은 1개만 남기며, 열 이름 앞에 붙이면 된다.
SELECT DISTINCT addr FROM member;

GROUP BY

  • 데이터를 그룹으로 묶어주는 기능을 한다.
SELECT mem_id "회원 아이디", SUM(amount) "총 구매 개수"
	FROM buy GROUP BY mem_id;

HAVING

  • 집계 함수와 관련된 조건을 제한하며, GROUP BY 다음에 나온다.
SELECT mem_id "회원 아이디", SUM(price*amount) "총 구매 금액"
	FROM buy
    GROUP BY mem_id
    HAVING SUM(price*amount) > 1000;

집계 함수

  • SUM() 합계
  • AVG() 평균
  • MIN() 최소값
  • MAX() 최대값
  • COUNT() 행의 개수를 센다
  • COUNT(DISTINCT) 행의 개수를 센다. (중복은 1개만 인정)

🎉기본 미션🎉

확인문제 2번 풀고 인증샷
다음 보기 중에서 각 문항의 빈칸에 들어갈 것을 고르세요.
① SELECT FROM member ORDER BY height;
② SELECT
FROM member LIMIT 5.2;
③ SELECT DISTINCT phone1 FROM member;

profile
개발공부중

0개의 댓글