Database/MySQL(43)
-
MySQL에서 값이 null인지 확인할 때 사용하는 is null과 is not null
주어진 데이터는 아래와 같습니다. select * from books; is null null 값이 있는 핃는 값이 없는 필드로 is null 연산자는 필드에 null 값(빈 값)이 있는지 확인합니다. 1. 예제 -- 재고가 null 인 데이터만 가져오시오 select * from books where stock_quantity is null; is not null 비어 있지 않은 값(not null)을 추출하는데 사용하는 함수입니다. -- 재고가 null 이 아닌 데이터만 가져오시오 select * from books where stock_quantity is not null;
2023.12.18 -
MySQL 데이터의 조건이 조건이 2개일 때 사용하면 좋은 조건문 if()과 null값을 지정된 값으로 변경하는 ifnull()
주어진 데이터는 아래와 같습니다. select * from books; if() 조건이 2개인 경우 사용하면 좋은 함수 조건이 True이면 값을 반환하고 이와 다른 조건은 False가 됩니다. 보통 조건이 3개 이상이면 case end를 더 많이 씁니다.(2개일때도 사용가능) 1. 예제 -- 출판 연도가 2000년도 이상인 책들은 '최근책'이라고 하고 그렇지 않은 책들은 '예전책'이라고 하여 type 이라는 컬럼을 추가하여 가져오시오 select *, if(released_year >= 2000, '최근책', '예전책') as type from books; ifnull() 해당 컬럼에 null 값(빈값)이 있는 경우 지정된 값을 리턴하는 조건 함수 1. 예제 -- 재고 컬럼에 null(NULL) 이 있으..
2023.12.18 -
MySQL 데이터의 조건문 case when then end(조건이 3개 이상일 때)
주어진 데이터는 아래와 같습니다. select * from books; case when then 여러 조건 중 참(True)인 조건이 있으면 그 값을 반환하면서 진행되는 문법 모든 조건이 충족되지 않았을때 else절의 값을 지정하지 않으면 Null(빈값)으로 반환됩니다. select * case when 조건 then 결과 when 조건 then 결과 else 결과 end as 컬럼추가 from 테이블명; 1. 예제 -- 출판 연도가 2000년도 이상인 책들은 '최근책'이라고 하고 그렇지 않은 책들은 '예전책'이라고 하여 type 이라는 컬럼을 추가하여 가져오시오 select *, case when released_year >= 2000 then '최근책' else '예전책' end as type fr..
2023.12.18 -
MySQL group by에 의한 조건 처리하는 방법! group by, having 사용법
주어진 데이터는 아래와 같습니다. select * from books; 테이블에 존재하지 않는 컬럼에 대한 조건일 경우 처리하는 방법! 특히, group by 일때!! 조건을 처리하는 방법 group by 문에 선택된 그룹에 탐색조건을 지정하는 부분이 having으로 group by로 먼저 그룹화가 진행되고 그 다음 조건문이 지정되어야 할 때 where가 아닌 having을 사용합니다. having은 group by 밑에 작성됩니다. -- 연도별 재고의 평균값이 70보다 큰 책들의 연도와 평균값을 보여주세요 순서 1 select *, avg(stock_quantity) as avg_stock from books group by released_year; 순서 2 select *, avg(stock_qua..
2023.12.18 -
MySQL 조건에 맞는 데이터를 가져오는 방법 where 문
주어진 데이터는 아래와 같습니다. select * from books; where 문 조건에 맞는 데이터를 가져오기 위한 명령어로 조건문을 만들 때 사용합니다. 여러 조건이 섞여 있을 때(다중조건)도 사용가능하며 조건문을 만드는데 있어 like, between 등과도 함께 사용합니다. 1. 예제 -- 출판 연도가 2017년도인 책 데이터를 가져오시오 select * from books where released_year = 2017; 2. 예제 -- 출판 연도가 2017년도가 아닌 책 데이터를 가져오시오 select * from books where released_year != 2017; 3. 예제 -- author_lname이 Harris가 아닌 데이터를 가져오되, 책 제목과 페이지수만 가져오시오 s..
2023.12.18 -
MySQL 데이터의 값을 더해주는(합계) 함수 sum()과 평균을 구하는 함수 avg()
주어진 데이터는 아래와 같습니다. select * from books; sum() sum() 함수는 집계함수로 숫자열의 총 합계를 반환하는 함수입니다. -- books 테이블의 모든 책의 페이지수를 다 더하면? select sum(pages) from books; avg() avg()는 집계 함수로 숫자열의 평균을 반환하는 함수입니다.(averege) -- books 데이블의 페이지수 평균? select avg(pages) from books; 1. 예제 -- 연도별로 stock_quantity 의 평균을 구하세요 select released_year, avg(stock_quantity) as avg from books group by released_year order by released_year d..
2023.12.18 -
MySQL 서브쿼리(subquery)와 예제
주어진 데이터는 아래와 같습니다. select * from books; 서브쿼리 서브 쿼리는 다른 쿼리 내부에 포함되어 있는 select 문을 의미합니다. 서브 쿼리는 반드시 괄호()로 감싸져 있어야 하며, MySQL에서 서브쿼리에 포함할 수 있는 외부 쿼리는 select, insert, update, delete 문 등이 있습니다. 1. 예제 -- 페이지수가 가장 긴 책의 제목과 페이지수를 보여주세요 방법 1번 select title, pages from books order by pages desc limit 0, 1; 방법 2번(서브쿼리 사용) select max(pages) from books; select title, pages from books where pages = (select max(..
2023.12.18