본문 바로가기

MySQL29

[MySQL] case문 작성법 -- 출판년도가 2000년 이상인 책들은 최근책 이라고 하고 그렇지 않은 책들은 예전책 이라고 하여 -- type 이라는 컬럼을 추가해서 가져오기 select *, case when released_year >= 2000 then "최근책" else "예전책" end as type from books; case when 컬럼명 조건 then 수행할거1 else 수행할거2 end 2023. 11. 30.
[MySQL] MySQL에서 값이 null인지 확인할때는 is null 사용 -- 재고가 null인 데이터 가져오기 select * from books where stock_quantity is null; -- 재고가 null이 아닌 데이터 가져오기 select * from books where stock_quantity is not null; where 컬럼명 = null (X) where 컬럼명 is null (O) 2023. 11. 30.
[MySQL] Group by에서 Having을 사용하는 방법 테이블에 존재하지 않는 컬럼에 대한 조건일 경우 특히, group by 일 때 처리하는 방법 -- 년도별 재고의 평균값이 70보다 큰 책들의 년도와 평균값을 보여주기 select released_year, avg(stock_quantity) as avg_stock from books group by released_year having avg_stock > 70 order by released_year; -> group by 뒤에 나오는 조건은 where가 아닌 having을 사용해야 한다. 2023. 11. 30.
[MySQL] Sub Query 사용법 데이터베이스안에 실행 가능 문장을 쿼리문이라고 하는데, 쿼리문 안에 쿼리문이 있다 = Sub Query 사용법 예시) 페이지수가 가장 긴 책의 제목과 페이지수를 보여주기 첫번째 : 페이지수가 가장 긴 데이터(쿼리) 두번째 : 제목과 페이지수 보여주기(쿼리) 이 두개를 합친다. -> where 절을 붙혀 하나의 쿼리로 만들고, 쿼리문 안에 쿼리문이 있는 이걸 서브쿼리(Sub Query)라고 한다. 2023. 11. 29.
[MySQL] group by 사용법 카테고리컬 데이터(중복이 있는)의 경우 ~별로 묶어서 처리 할 수 있다 -> group by 쓴다. -> 카테고리컬 데이터가 들어있는 컬럼으로 묶어서 그 중복된 데이터가 몇개씩 있는지 알려준다 -> Pandas의 group by, value_counts()랑 동일한 개념이다. 2023. 11. 29.
[MySQL] SQL count(), sum(), avg(), max(), min() 함수 사용법 count() -> count() = ()안에 들어간 값의 개수 sum() -> sum() = ()안에 들어간 값들을 다 더한 값 avg() -> avg() = ()안에 들어간 값의 평균 max() -> max(컬럼) = 컬럼 값중 가장 큰 값 min() -> min(컬럼) = 컬럼 값중 가장 적은 값 2023. 11. 29.
[MySQL] 문자열 검색에 유용한 like 사용법 like 키워드 = 데이터에 원하는 문자열이나 숫자가 있는지 검색 -> "%the%" = the 앞에 다른 문자열이 있든, the가 맨 앞에 있든, the가 중간에 있든, the가 맨 뒤에 있든, the 뒤에 다른 문자열이 있든 상관없다는 뜻 -> "the%" = the로 시작하는(맨 앞이 the) -> "%the" = the로 끝나는(맨 뒤가 the) -> "_" = 자릿수를 의미한다. 2023. 11. 29.
[MySQL] 페이징(paging)에 사용되는 limit과 offset limit 키워드 = 데이터를 끊어서 가져오는 방법 -> limit 오프셋,개수 -> select * from 테이블명 = 전부 다 가져왔을 때(19행) -> select * from 테이블명 limit 0,5 -> limit(n,m) = n번째부터, m개 -> n는 인덱스를 의미한다. 그다음 5개는 5,5 또 그다음은 10,5 이렇게 한다. 2023. 11. 29.
[MySQL] 정렬하기 위한 order by 정렬 (오름차순정렬 (기본값 = asc) / 내림차순정렬(desc)) -> order by 기준이되는컬럼명 asc(오름차순=기본값이라 생략가능) -> 내림차순 한글일 경우에는 가나다라 순, 영어일 경우 abcd 순이다. 2023. 11. 29.
[MySQL] 데이터 중복제거 distinct distinct = 데이터를 중복제거해서 유니크한 값만 가져오는 키워드(함수 x) -> select * from books 했을 때 -> select distinct author_lname from books 했을 때 2023. 11. 29.