티스토리 뷰

반응형

Where구문

테이블 질의 시 조건을 지정함

 

테이블에서 특정 조건에 맞는 데이터만 보고 싶을 때가 있다. 그 때 Where을 쓸 수 있다.

 

where구문의 형식

 

 

Where 구문에서 가용 가능한 술어 구문

 

 

 

Like [연산기호] 문자열 [연산기호]

 

 

#철학의 역사와 출간한 출판사 검색

select bookname, publisher
form Book
where bookname LIKE '철학의 역사';

#파이썬이 들어간 것 찾기
select bookname, publisher
form Book
where bookname LIKE '%파이썬%';

 

 

NULL값

NULL+숫자 연산의 결과는 NULL

집계 함수 계산 시 NULL이 포함된 행은 집계에서 빠짐

해당되는 행이 하나도 없을 경우

SUM, AVG 함수의 결과는 NULL이 되며, COUNT 함수의 결과는 0

 

 

SELECT CONCAT("전화번호:",phone)

FROM customer;

 

 

실습

#가격이 22000 미만인 도서
select *
from book
where price<22000;

 

날짜비교

select *
from bookstore.orders
where orderdate between '2021-02-01' and '2021-02-09';

2021년 2월 1일부터 2월 9일 까지의 데이터를 조회

 

문자열 매칭

#박씨 성을 가진 고객을 출력

select username from customer
where username like '박%';

 

NULL

 

where price=''

이런식으로 공백으로 검사하면 검색이 되지 않는다.

 

 

ORDER BY

쿼리결과를 오름차순 혹은 내림차순으로 출력

ASC 오름차순

DESC 내림차순

 

#결과를 이름순으로 출력

select *
from Book
order by bookname;

 

Distinct 중복된 결과를 제거하고 유일한 결과만 본다.

 

물, 물, 물, 불, 불의 레코드가 있다면

 

물과 불만 출력이 된다.

 

 

조건제어

 

SELECT IF(100>200,'참이다','거짓이다');

 

조건이 맨 처음에 오고 참이면 2번째 문장 거짓이면 3번째 문장을 실행한다.

 

 

LIMIT문

SELECT로 받아온 결과의 출력 개수를 제한하고 할 때, SQL 마지막에 사용

 

SELECT first_name,salary
FROM employees
ORDER BY salary DESC
LIMIT 3;


SELECT first_name,salary
FROM employees
ORDER BY salary DESC
LIMIT 10,3;
#10행 이후로 3개 출력, 10,11,12출력

 

select custid, sum(saleprice) as '총구매액',
		case
        	when(saleprice>=15000) then '최우수고객'
            when(saleprice>=10000) then '우수고객'
            when(saleprice>=5000) then '일반고객'
            else '유령고객'
           end as '고객등급'
     from orders O
     group by custid;

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함
반응형