카테고리 없음

SQL_기본 구조

멍주다배 2024. 12. 16.

SQL(Structured Query Language)

  • 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 프로그래밍 언어
    • 즉, 데이터베이스와 대화하기 위한 언어
  • 데이터베이스에 요청을 하는 질의를 Query라고 함 (Query를 잘 짜는 것이 중요)
  • MYSQL 환경에서 대소문자 상관없이 사용 가능
  • ‘데이터베이스’라는 폴더가 있고, 그 안에 ‘테이블’ 이라는 파일이 있다고 생각할 수 있음
  • 가장 기본적인 사항: 어느 테이블에서 데이터를 가져올까

 

Query 구조

기본 구조

  • SELECT : 데이터를 가져오는 기본 명령어, 데이터를 조회하는 모든 Query에서 사용
  • FROM : 데이터를 가져올 테이블을 특정
SELECT *		# *: 모든 컬럼 선택
FROM TABLE_NAME

SELECT 컬럼1, 컬럼2		#컬럼1, 컬럼2만 선택
FROM TABLE_NAME

 

컬럼에 별명 붙이기

  • 별명: 영문이나 언더바는 그냥 적어주고, 한글이나 특수 문자는 큰 따옴표(" ") 안에 넣어주기
    • 컬럼 as 별명
    • 컬럼 별명
#기본 구조
SELECT 컬럼1 as 별명1, 컬럼2 별명2
FROM TABLE_NAME
#food_orders 테이블에서 order_id(별명: ord_no)와 restaurant_name(별명: 식당 이름) 컬럼 조회
SELECT order_id as ord_no,
	restaurant_name "식당 이름"
FROM food_orders

 

WHERE 문법

  • 전체 데이터 중 원하는 데이터(특정 조건)만 필터링
#기본 구조
SELECT *
FROM TABLE_NAME
WHERE 필터링 조건
#food_orders 테이블에서 cuisine_type이 Korean인 컬럼 전체 조회
SELECT *
FROM food_orders
WHERE cuisine_type='Korean'

 

필터링에 쓰이는 표현

  • 비교연산자: 조건을 비교할 때 사용
    • = (같다), <> (같지 않다), > (크다), >= (크거나 같다), < (작다), <= (작거나 같다)
  • BETWEEN: A 와 B 사이
    • 기본 문법 : between a and b
  • IN : 특정 값을 포함하는 조건
    • 기본 문법 : in (A, B, C)
  • LIKE : 완전히 똑같지는 않지만, 비슷한 값을 조건으로
    • 기본 문법: like 시작문자% / %포함문자% / %끝나는문자
  • 논리연산: 여러 개의 조건을 적용할 때 사용
    • AND(그리고), OR(또는), NOT(아닌)
#비교 연산자 예시 - 나이가 40세 이상인 행 조회
SELECT *
FROM customers
WHERE age>=40

#BETWEEN 예시 - 나이가 10과 20 사이인 행 조회
SELECT *
FROM customers
WHERE age between 10 and 20

#IN 예시 - 15, 21, 31에 해당하는 나이를 가진 행 조회
SELECT *
FROM customers
WHERE age in (15, 21, 31)

#LIKE 예시 - 이름이 김으로 시작하는 행 조회
SELECT *
FROM customers
WHERE name like '김%'

#비교 연산자와 논리 연산자 예시 - cuisine_type이 Korean이면서 가격이 30,000원 이상인 행 조회
SELECT *
FROM food_orders
WHERE cuisine_type='Korean' and price>=30000