SQL 2 - SQL 기본 문법

우수민·2023년 12월 17일
0

강의 자료

목록 보기
11/18
post-thumbnail

데이터 조회

  1. USE 문
    • SELECT 문을 실행하기 위해서는 먼저 데이터 베이스 지정
	USE 데이터베이스_이름; 
  1. SELECT 문의 기본 형식
	SELECT select_expr
		[FROM table_references]
		[WHERE where_condition]
		[GROUP BY {col_name : expr : position}]
		[HAVING where_condition]
		[ORDER BY {col_name : expr : position}]
		[LIMIT {[offset,] row_count : row_count OFFSET offset}]
  1. SELECT와 FROM
	SELECT * FROM 데이터베이스_이름.테이블_이름;
	SELECT * FROM 테이블_이름; 
  1. 특정한 조건만 조회하기

    • 관계 연산자 : >, <, >=, <=, =
    • 논리 연산자 : AND, OR
    • BETWEEN ~ AND
    • IN() : 포함여부 확인시
    • LIKE : 일부 글자 검색시
	SELECT 열_이름 FROM 테이블_이름 WHERE 조건식;
  1. ORDER BY 절

    • 결과의 값이나 개수에는 영향X, 출력되는 순서 조절
    • 기본값은 오름차순(ASC), DESC(내림차순)
  SELECT mem_id, mem_name, debut_date
	  FROM memeber
	  -- ORDER BY debut_date; -- ASC 오름차순 기본 설정
	  -- ORDER BY debut_date DESC; -- DESC 내림차순 설정
	  ORDER BY height DESC, debut_date ASC; -- 두개이상 정렬시
  1. 출력의 개수를 제한 : LIMIT

    • LIMIT 시작, 개수 = LIMIT 개수 OFFSET 시작
    • LIMIT은 기본적으로 첫데이터를 0번으로 설정하고 시작
	SELECT * 
		FROM member
		ORDER BY height DESC
		-- LIMIT 3, 2; -- 3번째 건부터 2건만
		LIMIT 3; -- 처음부터 3건만
  1. 중복된 결과를 제거 : DISTINCT

    • 조회된 결과에서 중복된 데이터를 1개만 남김
	SELECT DISTINCT addr FROM members;
  1. GROUP BY 절
    • 그룹을 묶어주는 역할
    • 주로 집계함수와 사용됨
      • SUM() : 합계 / AVG() : 평균
      • MIN() : 최소값 / MAX() : 최대값
      • COUNT() : 행의 개수 / COUNT(DISTINCT) 행의 개수(중복 제거)
SELECT mem_id "회원 아이디", SUM(price * amount) "총 구매 금액"
	FROM buy 
	GROUP BY mem_id;
  1. Having 절
    • HAING은 WHERE와 비슷한 개념으로 조건을 제한하는 것이지만, 집계 함수에 대해서 조건을 제한하는 것
    • HAVING 절은 반드시 GROUP BY 절 다음에 위치
	SELECT mem_id "회원 아이디", SUM(price * amount) "총 구매 금액"
		FROM buy 
		GROUP BY mem_id
		HAVING SUM(price * amount) > 1000
		-- ORDER BY SUM(price * amount) DESC -- 정렬 필요시
		;

데이터 변경

  1. 데이터 입력 : INSERT
    • 테이블에 데이터 삽입 기본 코드
    • 테이블 이름 뒤에 나오는 열은 값들의 순서와 개수가 일정할때 생략가능
    • 생략한 경우 NULL로 입력
    • AUTO_INCREMENT
      • 열을 정의할때 1부터 증가하는 값을 입력
      • AUTO_INCREMENT로 지정하는 열은 반드시 PRIMARY KEY로 지정되어야 함
	INSERT INTO 테이블 [(1,2, ...)] VALUES (1,2, ...)
	;
	CREATE TABLE TEST (
		toy_id INT AUTO_INCREMENT PRIMARY KEY,
		toy_name CHAR(4).
		age INT
		)
	;
  1. 데이터 수정 : UPDATE
    • 기존에 입력되어 있는 값을 수정하는 명령
	UPDATE 테이블_이름
		SET1=1,2=2, ...
		WHERE 조건
	;
	UPDATE city_popul
		SET city_name = '서울'
		WHERE city_name = 'Seoul'
	;
  1. 데이터 삭제 : DELETE
    • 행 데이터 삭제
    • DELETE 문은 삭제가 오래 걸림
    • 테이블을 삭제할 시 DROP문 활용
    • TRUNCATE 문도 DELETE와 동일한 효과를 내지만 속도가 빠름.
    • DROP은 테이블 자체가 삭제되지만, DELETE와 TRUNCATE는 빈테이블만 남김
	DELETE FROM 테이블 이름 WHERE 조건;
	;

  • 참고 서적 : 혼자 공부하는 SQL
profile
데이터 분석하고 있습니다

0개의 댓글

관련 채용 정보