[Zero-Base]데이터 취업 스쿨 스터디 노트(SQL기초문법)

강현정·2024년 5월 29일

zero_base

목록 보기
30/54

INSERT

  • insert into 테이블명 (컬럼1, 컬럼2, 컬럼3, 컬럼4)
    -> values (값1, 값2, 값3, 값4);
    : 해당 컬럼에 값 집어넣기
  • insert into 테이블명
    -> values(값1, 값2, 값3, 값4);
    : 모든 값을 집어넣는 경우라면 컬럼명 명시 안 해줘도 가능

SELECT, WHERE

  • select * from 테이블명; : 테이블의 모든 컬럼을 출력
  • select 컬럼1, 컬럼2, ... from person; : 특정 컬럼만 출력
  • select * from person where 조건; : 특정 조건을 만족하는 모든 컬럼 출력(*대신 컬럼명 입력시 해당 컬럼만 출력)

UPDATE, DELETE

  • update: table내의 데이터를 수정
  • update 테이블명 set 수정할값 where 조건; : where절 조건에 해당하는 데이터를 수정할 값으로 변경

  • delete from 테이블명 where 조건; : 조건에 해당하는 데이터 삭제

ORDER BY

  • 실습 기본환경
  • select 컬럼1, 컬럼2
    ->from 테이블명
    ->order by 컬럼명;
    : 기본적으로 오름차순 정렬

  • select 컬럼1, 컬럼2
    ->from 테이블명
    ->order by 컬럼명 DESC;
    : 내림차순 정렬 옵션

  • order by절에 컬럼 여러개 사용 가능

Comparision Operators(비교연산자)

  • where 절에 =,!=,>,<, >= ,<= 과 같은 비교연산자를 사용해서 조건을 만들 수 있다.

Logical Operators(논리연산자)

  • SELECT* FROM celeb
    -> where 컬럼명 IN (값1, 값2);
    : ()안에 조건을 만족하는 값이 있으면 출력(OR와 비슷)
  • 논리 연산자의 경우 조건의 순서를 헷갈리지 않게 ()로 묶어줘서 사용해주는 것 추천
  • LIKE연산자 와일드카드 참고: 와일드카드 설명
  • 여러 논리연산자를 사용하여 조건문을 만들 수 있다.

UNION

  • UNION: 여러개의 SQL문을 합쳐서 하나의 SQL문으로 만드는 것.(주의- 컬럼의 개수가 같아야 함.)
  • UNION : 중복된 값을 제거하여 출력
  • UNION ALL : 중복된 값을 포함하여 출력
  • select * from 테이블명
    -> where 조건
    -> UNION ALL(또는 UNION)
    -> select * from 테이블명
    -> where 조건;


  • 컬럼의 개수가 같지 않을경우 아래와 같이 오류가 발생

JOIN

  • inner join: 두개의 테이블에서 공통된 요소들을 통헤 결합하는 조인 방식(교집합)

  • left join: 두개의 테이블에서 공통영역을 포함해 왼쪽 테이블의 다른 데이터를 포함하는 조인 방식(from 뒤에 나오는 테이블이 기준이 되는 테이블)

  • right join:두개의 테이블에서 공통영역을 포함해 오른쪽 테이블의 다른 데이터를 포함하는 조인 방식

  • full outer join:두개의 테이블에서 공통영역을 포함하여 양쪽 테이블의 다른 영역을 모두 포함하는 조인 방식(합집합)
    (하지만 MySql에서는 full join을 지원하고 있지 않기 때문에 LEFT JOIN + UNION + RIGHT JOIN 쿼리로 사용한다.)

  • self join: 내부조인(from 절에 테이블이 2개이상 존재)
    📌 괄호를 제대로 묶어주지 않으면 아래처럼 결과가 여러개 나오게 된다.

    📌 아래와 같이 괄호로 잘 묶어줘야한다.

    📌 컬럼명이 겹치는 경우가 아니라면 앞에 테이블 명을 적어주지 않아도 된다.
    📌 ~중은 AND로 ~이거나는 OR로 연결

CONCAT

  • concat: 여러 문자열을 하나로 합치거나 연결
  • select concat('str1','str2 ','str3'...); : 파이썬의 문자열 포맷팅과 비슷

ALIAS

  • ALIAS: 칼럼이나 테이블에 이름 별칭 생성(EX> IMPORT PANDAS AS PD)
    (컬럼에 ALIAS를 사용하는 것 과 테이블에 사용하는 것이 있음.
    -컬럼에 사용한 경우

  • concat과 함께 사용 가능

  • as는 생략 가능

DISTINCT

  • DISTINCT:검색한 결과의 중복 제거(파이썬의 UNIQUE와 비슷)
  • SELECT DISTINCT 컬럼1, 컬럼2 ... FROM 테이블명;

LIMIT

  • LIMIT: 검색결과를 정렬된 순으로 주어진 숫자만큼만 조회(SELECT> FROM > WHERE> ORDER BY >LIMIT 순서, 파이썬에서 HEAD와 비슷)
    업로드중..

0개의 댓글