2024/05/14 9

[MySQL] if() 함수

ifif(조건, 참일 경우 값, 거짓일 경우 값)조건이 2가지일때만 사용-- 기존 컬럼의 데이터를 가지고 2가지의 조건으로만 확인하는 경우는-- if() if 함수~!~! 를 사용해도 된다.-- 즉, 2가지로 파악할 때는 if함수가 훨씬 편하다.-- pages 컬럼의 값이 300 보다 크면 '긴책' 이라고 하고-- 그렇지 않으면 '짧은책' 이라고 하여-- 새로운 컬럼 book_type 을 만들자!select *, if(pages > 300, '긴책', '짧은책') as book_typefrom books;-- 출판년도가 2000년 이상인 책들은 '최신책' 이라고 하고-- 그렇지 않은 책들은 '예전책' 이라고 하며-- type 컬럼을 만들자.select *, if(released_year > 2000, '..

MySQL 2024.05.14

[MySQL] case

case와 end는 한쌍 select 아래 위치에 위치하며 when, then은 항상 같이 사용else는 모든 조건이 True가 아닌 경우 else의 결과값 반환end as '컬럼 이름' 으로 끝에 컬럼을 생성하고 값을 반환 -- 출판년도가 2000년 이상인 책들은 '최신책' 이라고 하고-- 그렇지 않은 책들은 '예전책' 이라고 하며-- type 컬럼을 만들자select *, case when released_year >= 2000 then '최신책' else '예전책' end as typefrom books; -- 재고가 0 이상이고 50 이하이면 , *-- 재고가 51 이상이고 100 이하이면 , **-- 이도 저도 아니면 , ***-- stock 이라는 컬럼을 만들자.select *, ca..

MySQL 2024.05.14

[MySQL] 데이터 그룹화하여 처리 group by, having

group by : 그룹화된 데이터를 기반으로 데이터를 집계하거나 분류하는데 사용-- ~별로 묶어서 ... 하자 : group by 키워드-- author_lname 별로 몇권의 책을 썼는지-- author_lname 과 책의 권수를 보여주세요.select author_lname, count(author_lname) as book_cntfrom booksgroup by author_lname; -- 년도별로 각각 몇권의 책이 출간되었는지-- 년도와 책의 수를 보여주세요.select released_year, count(released_year)from booksgroup by released_yearorder by released_year asc;  group by 로 그룹화된 데이터에 대한 조건을 설정..

MySQL 2024.05.14

[MySQL] 데이터 집계 함수 count, sum, avg, max, min

count: 행의 수를 세는 함수-- 갯수를 세는 함수 count 함수-- books 테이블의 데이터의 갯수는?select count(*)from books;-- author_lname 은 중복 데이터가 있다.-- author_lname 기준으로는 몇 명인가?select count(distinct author_lname)from books;-- 책 제목에 the 가 들어간 책은 몇권입니까?select count(*)from bookswhere title like '%the%';  max: 숫자 열에서 최댓값을 찾는 함수-- 최대값 구하는 함수 max()-- 페이지 수가 가장 많은 책은, 몇 페이지 입니까?select max(pages)from books;  min: 숫자 열에서 최솟값을 찾는 함수-- 최..

MySQL 2024.05.14

[MySQL] 문자열 검색에 유용한 like

like : 문자열 안에 원하는 문자가 들어있는지 검색 -- 책 제목에 the 가 들어있는 데이터를 가져오시오.-- 책 제목이 the 인거 가져오시오. 와는 완 전 히 다른것!!select *from bookswhere title = 'the';select *from bookswhere title like '%the%';-- %는 "the" 앞, 뒤, 또는 둘 다의 어떤 문자열이든 올 수 있다는 것을 의미  -- 책 제목에 시작이 the 로 시작하는 데이터를 가져오시오.select *from bookswhere title like 'the%'; -- stock_quantity 의 숫자가, 두 자리인 데이터만 가져오시오.-- 언더스코어 사용! __select *from bookswhere stock_qu..

MySQL 2024.05.14

[MySQL] 데이터를 가공 키워드 distinct, order by, limit

distinct : 데이터를 유니크하게 만든다. (중복을 제거) -- 데이터를 유니크하게 만드는 키워드 distinct-- author_lname 이 카테고리컬 데이터다. 유니크한 데이터를 확인하자.select distinct author_lnamefrom books;-- fname 과 lname 을 합친 full_name 으로 중복 제거해서 확인해보자.select distinct concat(author_fname, ' ' , author_lname) full_namefrom books; order by : 데이터를 정렬-- 정렬 : order by 키워드 => 위치가 중요!-- author_lname 으로 정렬select *from booksorder by author_lname;-- full_nam..

MySQL 2024.05.14