내일배움캠프 2일차 TIL - SQL 조회 부분 정리

iy·2023년 12월 22일

TIL

목록 보기
1/37

SQL

SQL이란?

  • SQL은 데이터베이스와 대화를 하기 위한 언어!
  • SQL이란 언어를 이용하여 데이터베이스에 요청하는 질의를 'Query'라고 한다.

데이터베이스 개념

데이터베이스는 '데이터가 저장되어 있는 큰 폴더'라고 생각하기!

SQL 데이터 조회 시작 (SELECT, FROM)

  1. SELECT / FROM 문의 개념

    • SELECT : 데이터를 가져오는 기본 명령어로 데이터를 조회하는 모든 Query에 사용됨
    • FROM : 데이터를 가져올 테이블을 특정해주는 문법
    • * : 모든 칼럼을 가져와준다는 의미
    SELECT *
    FROM 테이블명
  2. 필요한 컬럼 선택하기

    • 테이블의 모든 컬럼이 필요하지 않을 때, 필요한 것만 선택하여 조회 가능함
    • 모든 것을 조회한다는 '*' 대신에, 필요한 컬럼만 적어준다.
    SELECT 필요한칼럼1, 필요한칼럼2 
     FROM 테이블명
    • 필요한 칼럼을 원하는 이름으로 보이게 하고 싶을 때
    SELECT 필요한칼럼1 원하는이름1 , 필요한칼럼2 as 원하는이름2 
     FROM 테이블명

별명 지을 때 유의사항
|영문, 언더바|특수문자,한글|
|--|--|
|별명만 적음|"별명"으로, 큰따옴표 안에 적어줌|

order_id를 ord_no으로 price 칼럼을 가격으로 quantity 컬럼을 수량으로 나타내기

SELECT order_id ord_no,
	   price "가격",
	   quantity as "수량"
FROM 테이블명

name 칼럼을 이름으로 email 컬럼을 e-mail로 나타내기

SELECT name "이름", email "e-mail" 
FROM 테이블명
  1. 조건에 맞는 데이터만 필요할 때, WHERE절로 조건 설정

나이가 21살인 사람만 테이블에서 불러오기

SELECT *
FROM 테이블명
WHERE age = 21

젠더가 female인 사람만 테이블에서 불러오기

SELECT *
FROM 테이블명
WHERE gender='female'
  1. 필터링 할 때 유용한 표현

    1. 비교연산
    SELECT *
    FROM 테이블명
    WHERE age >= 21
    
    SELECT *
    FROM 테이블명
    WHERE gender <> 'male'
    1. BETWEEN, IN, LIKE

      • BETWEEN : A와 B 사이
      SELECT *
      FROM 테이블명
      WHERE age BETWEEN 21 and 23
      • IN : "포함"하는 조건 추가(모든 조건 동일하게 포함!)
      SELECT *
      FROM 테이블명
      WHERE age IN (21,25,30)
      
      SELECT *
      FROM 테이블명
      WHERE name IN ('AAA','BBB')
      • LIKE : 완전히 똑같지는 않지만 비슷한 값을 조건으로 주기
        • A로 시작하는 이름
          name LIKE 'A%'
        • B로 끝나는 이름
          name LIKE '%B'
        • C를 포함만 하면 찾고 싶을 때
          name LIKE '%C%'
  2. 여러 조건을 설정하고 싶을 때

  • 논리연산자의 종류
ANDORNOT
A 그리고 BA 또는 BA가 아닌
A AND BA OR BNOT A

테이블에서 한식과 30000원 넘는 경우 찾기

SELECT *
FROM 테이블명
WHERE cuisine_type ='Korean'
AND  price >= 30000

📑
  1. Java 객체지향 생성자 부분 정리 및 공부
  2. 웹 개발 종합반 강의 5주차까지 다 완료
  3. SQL 강의 1주차 완료
👀

SQL강의 1주 차 강의를 들었는데 조회 부분이었다.
오랜만에 다시 한번 SQL 강의를 듣고 실습하니까 배웠던 부분이지만 확실히 복습이 된다.
예전에 프로젝트에서 Query를 불러올 때 IN, LIKE 사용을 헷갈렸던 기억이 있다. 이번 강의를 들으면서 확실히 기억하고 앞으로 프로젝트에서 실수 없이 해야겠다는 생각이 들었다.
또, 잠깐 반성을 하자면 내배캠 교육 과정은 아침 9시부터 10시까지 코딩 테스트 준비 시간이다. 어제, 오늘은 이 시간을 100% 활용하지 못한 거 같다. 앞으로는 이 시간은 생활 습관으로 만든다 생각하고 잘 활용해야겠다.

0개의 댓글