SQL 기본 구조문

DA_LEESUNHO·2025년 10월 27일

Learning Base

목록 보기
1/15

오늘부터 본격적인 SQL 이론과 실습을 진행한다.

금일부터 진행하는 벨로그는 진행하면서 내가 몰랐거나, 실수 혹은 부족했던 부분
빨강색 으로 표기할 예정이다.

또한, 기억하면 좋은 내용(혹은 문법) 등 에 대해 파랑색 으로 적고
매일 작성하는 벨로그 주제에 연관 될 경우 상단에 기입할 것이다.

들어가기에 앞서,
누군가 작성한 SQL Query 에 대해 분석 시 우선순위 (먼저 보아야 하는 것) 을 알아보자.

FROM → ON → JOIN → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY

SQL 학습을 진행하면서 알아두고 항시 습관화하기


SQL 기본 구조 : SELECT, FROM

SELECT : 테이블의 값 (열, 컬럼, 필드) 를 선택
DISTINCT : 중복값을 제외
FROM : 레코드를 선택할 테이블 지정
구문 마지막은 ';' 으로 마무리

select * from DB명.테이블명					## 모든 칼럼 조회
select col1, col2 from DB명.테이블명			## col1, col2 조회

  * : 아스테리크 (명칭)

WHERE (조건)

특정 조건의 데이터 값을 추출하고자 할때

select *
from db명.테이블명
where 조건;

CASE WHEN (조건)

다양한 케이스 별 조건에 따른 결과 값을 달리 하고 싶을 때

select
case when 조건식1 then 결과1
	 when 조건식2 then 결과2
     else 결과3
     end as 새로운 컬럼명
from db명.테이블명;

1) 조건문이 여러 개인 경우,
조건식1에 해당하지 않는 경우는 제외가 됨.


2) IF 문은 잘 쓰이지 않음
조건이 단일인 경우가 적고, 여러 조건을 IF문을 쓰게 된다면 쿼리가 난잡해진다.

조건문을 지원하는 연산자

익숙치 않은 연산자만 작성함

연산자예시의미
!=a!=10a가 10이 아닌 값
LIKELIKE(%과자%)~과자~ 의 모든 값을 포함하는 조건
INA IN BB에 A가 포함된 값
NOT INA NOT IN BB에 A가 포함되지 않은 값
NOT, !NOT A, !AA가 아닌 값
IS NULLA IS NULLA가 비어있는 값

사전 캠프 실습문제를 풀면서도 'IN' 과 'LIKE' 혼동 하면서 오답노트 진행한 기억이 있다.

텍스트where name in ('이선호')where name like ('%이선호%')
강한이선호집계 안됨집계 됨
약한이선호집계 안됨집계 됨
비 고정확하게 '이선호'인 경우만 집계~이선호~ 에 대한 모든 경우 집계

추가적으로, 다수 연산자를 사용하는 경우 필수적으로 '( )'를 사용 하도록 하자

Order by (정렬)

order by 구문의 경우 항상 구문 마지막에 등장 (Limit 포함)
필수 구문이 아님

  • ASC(Ascending) : 오름차 순
  • DESC(Descending) : 내림차 순

order by [column]
여기서 col 개수가 여러 개가 들어 갈 수 있다.
** 먼저 입력한 col 이 우선순위가 높음

ex>order by age_value desc, date_value asc
→ age 값을 먼저 내림차 순으로 나열 후, date 값을 오름차 순으로..

profile
성장과 회고를 기록하는 일기장

0개의 댓글