2~3일차 - SQL학습

2024. 7. 16. 20:18·DB
목차
  1. ◇ SQL이란?
  2. ◇ 기본 문법
  3. ◇ WHERE절(엑셀의 필터같은 기능)
  4. ◇ 수식
  5. ◇ GROUP BY
  6. ◇ ORDER BY
  7. ◇ 회고

◇ SQL이란?

  • 데이터베이스와 대화를 하기 위한 언어

※ SQL 이란 언어를 이용하여 데이터베이스에 요청을 하는 질의를 ‘Query’ 라고 한다.

 

데이터베이스는 데이터가 저장되어있는 '데이터베이스'라는 큰 폴더가 그안 '테이블'이라는 파일이 있다고 생각할 수 있다.

테이블은 아래와 같은 구조를 갖고 있다.

테이블의 각 열을 '컬럼' 혹은 '필드'라고 부른다.

email 컬럼


◇ 기본 문법

- 기본 문법

  • SELECT : 데이터를 가져오는 기본 명령어
  • FROM : 데이터를 가져올 테이블을 특정해주는 문법
  • ' * ' : 모든 컬럼을 가져와준다는 의미

- 원하는 컬럼 선택

- 컬럼에 별명설정하기

구분 영문, 언더바 특수문자(공백포함), 한글
방법 별명만 적음 "별명"으로, 큰따옴표 안에 작성
예시 ord_no "ord no"
"주문번호"

◇ WHERE절(엑셀의 필터같은 기능)

- 기본

→ where (컬럼)(조건)

※ 조건에서 문자열은 작은 따옴표로 감싼다.

 

- 비교연산자

부호 의미
= 같다
<> 같지 않다
>,< 크다(작다)
>=, <= 크거나 같다(작거나같다)

- 기타

  • between : A와 B사이
    → where '컬럼1' between A and B : 컬럼1에서 A(이상)와 B(이하)사이의 값들
  • in : 포함
    → where '컬럼1' in (조건1, 조건2,...) : 컬럼1에서 ()안의 조건값들
  • like 비슷한 값
    → where '컬럼1' like 'S%' : 컬럼1에서 S로 시작하는 문자
    → where '컬럼1' like '%S%' : 컬럼1에서 S를 포함하는 문자
    → where '컬럼1' like '%S' : 컬럼1에서 S로 끝나는 문자

- 논리연산

부호 의미
and 그리고
or 또는
not 아닌

 

 


◇ 수식

  • 연산
    →  select '컬럼1' + '컬럼2' as '새로운컬럼' : 컬럼1과 컬럼2를 더해 새로운 별명을 부여한 컬럼3을 계산

  • sum, avg
    → sum('컬럼1') 별명1 : 컬럼1의 값을 모두 더해 별명1 컬럼에 표시하여 출력
    → avg('컬럼2') 별명2 : 컬럼2의 평균값을 계산하여 별명2 컬럼에 표시하여 출력
  • count
    → count('컬럼1') 별명1 : 컬럼1의 데이터 갯수를 계산하여 별명1에 표시
    ※ ()안에 컬럼명 대신 ' * '이나 ' 1 '을 대입할 경우 form데이터의 모든 값을 카운팅
    → count(distinct '컬럼2') 별명2 : '컬럼2'가 몇가지의 값을 가지고있는지 카운팅
    ex)


  • min, max

◇ GROUP BY

→ 카테고리컬럼을 묶어서 계산하여 표시


ex)

→ pay_type컬럼을 그룹지어 가장 최근 결제일 표시


◇ ORDER BY

 

ex)

→ cuisine_type을 그룹지어 sum(price) 오름차순 정렬

※ 내림차순은 order by 마지막에 desc 추가 기입

 


◇ 회고

- 복습이 필요한 부분

- count(distinct)부분
→ 예시를 통해 이해
ex) food_orders 테이블에 'cuisine_type'이란 컬럼에
한국(3), 미국(3), 중국(4) 이렇게 10개의 데이터가 있다고 가정하면

위 결과에서 첫번째 count는 10이 distinct count에는 3이 출력되게된다.
distinct의 경우 해당 컬럼의 고유값의 갯수를 카운팅한다.

 

- 정리

SQL은 위 5가지 문법이 기본적인 구조이다

  • SELECT : 기초구문
  • FROM : 어디서(어떤 테이블에서) 데이터를 가져올지
  • WHERE : 조건문
  • GROUP BY : 범주 선택
  • ORDER BY : 정렬

'DB' 카테고리의 다른 글

1일차 - 데이터베이스(fierbase) 사용하기  (0) 2024.07.15
  1. ◇ SQL이란?
  2. ◇ 기본 문법
  3. ◇ WHERE절(엑셀의 필터같은 기능)
  4. ◇ 수식
  5. ◇ GROUP BY
  6. ◇ ORDER BY
  7. ◇ 회고
'DB' 카테고리의 다른 글
  • 1일차 - 데이터베이스(fierbase) 사용하기
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 이론공부
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • DB
      • AWS
      • CI-CD
      • 웹
      • git & github
      • 구인공고분석
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java 제어자
    java 유클리드 호제법
    java super
    데이터 타입
    java
    java two-pointer
    프로그래머스 java 기초 트레이닝
    Java 생성자
    java 멤버
    java기초
    Java this
    개발로드맵
    자료구조
    java arrays.copyofrnage()
    java 에라토스테네스의 체
    java enhance switch
    프로그래머스 java 기초트레이닝
    데이터 크기
    java 세수의합
    java 메서드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
2~3일차 - SQL학습
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.