Database/MySQL(43)
-
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 -
MySQL 데이터 페이징(paging)에 사용되는 limit과 offset
MySQL 데이터 페이징(paging)할 때 사용되는 키워드인 offset과 limit에 대해 알아봅니다. 주어진 데이터는 아래와 같습니다. select * from books; 1. 데이터 페이징(paging) 데이터가 출력될 때 모든 데이터를 한번에 가져오게 되면, 데이터베이스가 과부하되어 서버가 멈추거나 불러오는(로딩) 속도가 느려질 수 있으며, 방대한 데이터 양으로 인해 서비스를 이용하는 사람들의 가독성 또한 떨어질 수 있습니다. 이 같은 문제점들을 데이터 페이징을 통해 방지하고 있습니다. 데이터를 끊어서 가져오고 싶을 때(데이터 페이징)는 limit 키워드를 사용합니다. limit 키워드(오프셋, 가져올 데이터의 수)의 문장으로 MySQL에서 페이징 처리합니다. ex. limit 0, 25 --..
2023.12.14 -
MySQL 데이터를 정렬하기 위한 키워드 order by
MySQL 데이터를 정렬하는 키워드에 대해 알아봅니다. 주어진 데이터는 아래와 같습니다. select * from books; 1. order by 데이터 컬럼 기준으로 오름차순 또는 내림차순 등 정렬하는데 사용되는 키워드 order by는 기본적으로 오름차순으로 정렬하며 내림차순으로 정렬하려면 desc 키워드를 사용합니다. - asc : 오름차순(기본) - desc : 내림차순 order by 키워드의 위치가 중요하다! → 항상 from 아래에 위치해야 함 -- author_lname으로 정렬하시오 select * from books order by author_lname asc; -- 내림차순 정렬 select * from books order by author_lname desc; -- full n..
2023.12.14