books 테이블

년도별로, 평균 재고량과 해당 년도가 나오도록 데이터를 가져오기 위해 group by를 from 뒤에 쓰겠다.

select avg(stock_quantity), released_year
from books
group by released_year;

 

 

books 테이블

갯수 count 함수, 작가별 작품 수는?

SELECT author_fname, author_lname, count(*) as cnt
FROM books
GROUP BY author_fname, author_lname;

 

 

합계 sum 함수, 이 테이블의 페이지수 총 합은???

select sum(pages)
from books;

 

평균 avg 함수, 이 테이블의 책 페이지수 평균은?

select avg(pages)
from books;

 

최대값 max 함수, 이 테이블에 책 페이지수가 가장 큰 값은??

SELECT MAX(pages)
FROM books;

 

최소값 min 함수, 이 테이블에 책 페이지수가 가장 작은 값은??

SELECT MIN(released_year)
FROM books;

 

SELECT *
FROM books
WHERE title like '%the%';

문자열 포함 ( Search ) like 키워드를 통해  내가 찾고자 하는 문자열이 컬럼에 포함되어 있는지 확인하는 방법

책 제목에 the 라고 들어있는(%) 책만 가져오시오.

 

 

-- the로 시작하는 책만 가져오시오
SELECT *
FROM books
WHERE title like 'the%';

위는 예제에 쓸 books 테이블이다.

 

 

-- 책 테이블의 데이터를 3개만 가져오시오
SELECT *
FROM books
LIMIT 3;

LIMIT를 이용해 처음부터 3개만 가져왔다.

 

 

-- 최신책을 기준으로 10번째 책부터 끝까지 가져오시오.
SELECT *
FROM books
ORDER BY released_year DESC
LIMIT 9, 192948902;

LIMIT의 처음에는 OFFSET(시작지점)을 넣고, 끝까지 가져오고 싶으면 뒤에 큰 숫자를 넣어준다.

혹은 총 갯수를 세서 넣어주는 방법도 있다.

위는 예제에 쓸 데이터 books 테이블이다.

 

 

SELECT *
FROM books
ORDER BY title;

title을 기준으로 오름차순 정렬을 했다.

 

 

-- author_lname으로 정렬을 하고, 이 author_lname이 같으면
-- author_fname으로 정렬하세요.
SELECT *
FROM books
ORDER BY author_lname ASC, author_fname DESC;

여러 개를 기준으로 정렬하고 싶으면 콤마를 이용한다. default는 ASC(오름차순)이고 내림차순은 DESC를 써준다.

위는 예제 데이터 books 테이블이다.

 

 

column 앞에 DISTINCT를 붙이면 중복없이 가져올 수 있다.

upper 함수는 대문자로 lower 함수는 소문자로 변경해 출력한다.

char_length 함수는 column 안의 문자열이 몇개인지 길이를 구해준다.

replace는 바꾸고 싶은 문자열을 다른문자열로 바꾸게 해주는 함수다

reverse 문자열의 순서를 뒤바꾸는 함수다

substring을 이용해 원하는 구간만 가져올 수 있다. 

 

 

+ Recent posts