MySQL(46)
-
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 -
MySQL 데이터의 최대값과 최소값을 구하는 함수 max(), min()
주어진 데이터는 아래와 같습니다. select * from books; max() 선택한 열의 가장 큰 최대 값을 구하는 함수입니다. 1. 예제 -- pages 수가 가장 많은 책은 몇페이지 입니까? select max(pages) from books; * sql 은 함수를 꼭 select 옆에 적어줍니다. 2. 예제 -- 각 작가별(풀 네임별) 자신이 쓴 책중에서 가장 긴 책의 페이지수를 보여주세요(작가 풀네임, 페이지 수) # select concat(author_fname, ' ', author_lname) as full_name, max(pages) as pages from books group by full_name; ## select concat(author_fname, ' ', author_..
2023.12.18 -
MySQL 카테고리컬 데이터를 각 조건 별로 묶어서 처리하는 키워드 group by
주어진 데이터는 아래와 같습니다. select * from books; group by 카테고리컬 데이터를 각 조건 별로 묶어서(그룹화) 처리하는 키워드 1. 예제 -- author_lname 별로 몇권의 책을 썼는지 권수를 보여주세요 select author_lname, count(author_lname) as book_count from books group by author_lname; 2. 예제 -- 연도 별로 각각 몇권의 책이 출간되었는지 연도와 책의 갯수를 보여주세요 select released_year, count(released_year) as cnt from books group by released_year order by cnt desc; MySQL 작성 순서는 아래와 같습니다. 실행..
2023.12.15 -
MySQL 데이터 갯수를 세는 함수 count()
주어진 데이터는 아래와 같습니다. select * from books; count() 데이터 갯수를 세는 함수로 테이블의 모든 행의 갯수를 셉니다. 1. 예제 -- books 테이블의 전체 데이터는 몇 개? select count(*) from books; 2. 예제 -- author_lname 컬럼의 전체 데이터 갯수는 몇개? select count(author_lname) from books; 3. 예제 -- author_lname 중복데이터가 있다. 따라서 중복데이터를 제거한 유니크란 데이터의 갯수는 몇 개? select count(distinct author_lname) from books; 4. 예제 -- 책 제목에 the가 들어있는 책은 몇권입니까? select count(*) from boo..
2023.12.15 -
MySQL book 데이터 실습문제(like, order by, limit, concat, upper)
주어진 데이터는 아래와 같습니다. select * from books; 실습문제 1. like -- 제목에 stories가 포함된 데이터를 제목만 조회하시오 select * from books where title like '%stories%'; 2. order by, limit -- 페이지 수가 가장 긴 책을 찾아서 제목과 페이지 수를 조회하시오 select title, pages from books order by pages desc limit 0, 1; 3. order by, limit -- 가장 최근에 발간된 책 3권을 찾아서, 책의 제목과 발간연도를 조회하되, 다음처럼 하이픈(-)을 붙여서 조회하시오(컬럼명은 summary) select concat(title, ' - ', released_ye..
2023.12.14 -
MySQL 데이터 문자열 검색을 위한 like 연산자 사용 방법
MySQL 데이터 페이징(paging)할 때 사용되는 키워드인 offset과 limit에 대해 알아봅니다. 주어진 데이터는 아래와 같습니다. select * from books; like 키워드 문자열 안에 원하는 문자열이 들어있는지 검색할 때 사용됩니다. (엘라스틱 서치를 많이 씀) 문자열을 검색할 때는 '%문자열%' 의 모양으로 사용하며해당 문장은 문자열 앞뒤로 무엇이 붙어 있든지 검색하게 합니다. '%문자열%' 문자열 앞 뒤에 어떤 문자열이 붙어도 상관없을 때 사용 '문자열%' 문자열로 시작하여 뒤에 어떤 문자열이 붙어도 상관없을 때 사용 '%문자열' 앞에 어떤 문자열이 붙든 해당 문자열로 끝나는 검색일 때 사용 '문자열' 온전하게 해당 문자열만을 검색할 때 사용 1. 예제 -- 책 제목에 the가..
2023.12.14