MySql

[MySQL] SELECT, FROM, WHERE 데이터 조회하기

kimyongjun0129 2025. 3. 21. 20:26

 

 

 


 

 

 

기본 명령어

  • SELECT : 데이터를 가져오는 기본 명령어, 데이터를 조회하는 모든 Query 문에 사용된다.
  • FROM : 데이터를 가져올 테이블을 특정해준다.
SELECT *
FROM food_orders
  • * : 모든 컬럼(열)을 가져온다는 의미이다.

 

결과 : 모든 Column을 가져왔다.

 

 

 


 

 

 

필요한 항목(컬럼)만 뽑아서 사용

  • 구조 : SELECT 컬럼명1, 컬럼명2...
SELECT price,
       quantity,
       addr
FROM food_orders
  • food_orders 테이블에서 price, quantity, addr 컬럼을 가져온다는 의미이다.
  • 컬럼 사이에 ","를 꼭 붙여야 하며, 마지막 컬럼에는 붙이면 안된다. (이 부분에서 잦은 오류가 발생했었다.)

 

결과 : 특정 Column만 가져왔다.

 

 

 


 

 

 

컬럼에 별명(alias)를 주기

  • 방법 1 : 컬럼명 as 별명
  • 방법 2 : 컬럼명 별명
SELECT price as "가격",
       quantity "갯수",
       addr address
FROM food_orders
  • 주의 사항 : 별명에 한글, 특수문자("_"를 제외)가 포함되면 쌍따옴표(" ")를 붙여야 한다.

 

결과 : 특정 Column의 Column 명이 바뀜

 

 

 


 

 

 

조건에 맞는 데이터만 필요할 때, WHERE 절로 필터링하기

  • 구조 : WHERE 필터링 조건
SELECT *
FROM customers
WHERE age>=90

 

  • 비교연산자를 사용
    • > : 크다
    • < : 작다
    • >= : 크거나 같다
    • <= : 작거나 같다
    • <> : 같지 않다
    • = : 같다
  • 조건연산자를 사용
    • BETWEEN....AND : A와 B사이
    • IN : '포함'하는 조건
    • LIKE : 완전히 똑같지는 않지만, 비슷한 값을 조건

 

 

 


 

 

 

여러가지 조건을 주는 방법, 논리 연산자 사용하기

  • WHERE~AND~ : 양 옆 조건을 동시에 만족하는 데이터로 필터링한다.
  • WHERE~OR~ : 양 옆 조건 중 하나라도 만족하는 데이터로 필터링한다.
  • WHERE NOT~ : 뒤 조건이 아닌 데이터로 필터링한다.
  •  

 


 

 

 

1주차 숙제

상품 준비시간이 20~30분 사이인, 한국음식점의 식당명과 고객번호 조회하기

 

[지시사항]

  • 상품 준비시간이 20~30분 사이인, 한국음식점의 식당명과 고객번호 조회하기
  • 조회해야 할 컬럼 특정하기
  • '사이' 조건 : BEWTEEN
  • 특정 조건 지정 : =
  • 복수의 조건 지정 : AND

 

[풀이]

  • 상품 준비시간, 식당명과, 고객번호 컬럼 등이 포함된 food_orders table을 FROM 절에 넣기
  • 식당명과 고객번호를 조회하므로 restaurant_name, customer_id를 SELECT절에 넣기
  • 상품 준비 시간이 20~30분 사이이므로 food_preparation_time BETWEEN 20 AND 30을 WHERE 절에 넣기
  • 여러 나라 중 한국 음식만 필터링해야하므로 cuisine_type="korean"을 WHERE 절에 넣기
  • 두 조건을 만족해야하므로 AND 논리 연산자 넣기