Development Study/Backend [SQL] 일주일 뒤에 풀어보는 SQL ( SELECT함수 ~ 집계 함수 ) - 728x90 SQL문 특성 상 자주 하지 않으면 잊어버리기에 이번엔 얼마나 기억하고 있을 지 복습해보는 시간을 가져보도록 하겠다 여러분들은 분명 다시 풀어봐도 잘 풀 수 있을 것이다 아래에는 SQL의 시작점인 글이다 [SQL] 저장된 데이터를 원하는 대로 찾아보자 ( SELECT ~ 집계 함수 ) 들어가기에 앞서 SQL문은 기본적인 문법, 실습 위주의 학습을 통해 빠르게 익힐 수 있다 꾸준하고 반복적인 학습을 하면 실력이 빠르게, 좋은 방향으로 늘어날 것이라 생각한다 SQL문 관련 기능/ time-map-installer.tistory.com 일주일 전에 풀어보았던 문제 [SQL] 연습 문제 ( SELECT함수 ~ 집계 함수 ) 이 포스팅은 이전 글과 연계되어있다. 혹시 보고오지 못했다면 먼저 읽고 문제를 풀어보는 것을 추천한다 이전 글 보고오기 [SQL] 저장된 데이터를 원하는 대로 찾아보자 ( SELECT ~ 집계 함수 ) 들 time-map-installer.tistory.com 접은 글을 펼치면 정답과 결과화면을 같이 나오도록 해 두었다 문제를 해결 한 이후 펼쳐보도록 하자 1. 도서번호가 5인 도서의 이름과, 출판사, 가격 더보기 SELECT bookname, publisher, priceFROM BookWHERE bookid = 5; Result From Prob1 2. 가격이 15,000원 이상인 도서정보 더보기 SELECT *FROM BookWHERE price >= 15000; Result From Prob2 3. 가격이 15000원 이상 20000원 미만인 도서를 도서명 내림차순으로 출력 더보기 SELECT *FROM BookWHERE price >= 15000 and price < 20000ORDER BY bookname DESC; Result From Prob3 안나오는 것이 정상이다 조건에 만족하는 책은 없다 결과가 안 나온다고 당황하지 말자 사실 안 나오는 것이 정답이다 4. 보유하고 있는 도서의 총 개수 더보기 SELECT COUNT(bookid)FROM Book; Result From Prob4 도서의 총 개수이므로 도서의 고윳값인 bookId를 count 하였다 + *을 쓰면 행의 수가 모두 count 된다 + 사실 중복제거가 안 된 상태라 똑같은 듯하다 5. 거래하고 있는 출판사 수 더보기 SELECT COUNT(DISTINCT publisher)FROM Book; Result From Prob5 중복제거 DISTINCT를 사용하였다 6. 도서를 한번이라도 구매한 적 있는 고객 수 더보기 SELECT COUNT(DISTINCT custid)FROM Orders; Result From Prob6 custid는 구매한 고객 리스트이므로 중복없이 몇 명이 구매했는지 알아보는 코드를 작성한다 7. 성이 "Kim"인 고객 정보 더보기 SELECT *FROM CustomerWHERE name LIKE "Kim%"; Result From Prob7 LIKE = "%%" <- 이러면 안된다 8. 성이 'Kim'이고 이름이 'a'로 끝나는 고객 정보 더보기 SELECT *FROM CustomerWHERE name LIKE "Kim%a"; Result From Prob8 and를 굳이 사용 안해도 정리 가능 9. 휴대폰 번호가 null값이 들어가 있는 고객 정보 더보기 SELECT *FROM CustomerWHERE phone IS NULL; Result From Prob9 = NULL을 쓰는 오류를 범하지 않도록 하자 10. 고객번호가 2인 고객의 도서 총 구매액 더보기 SELECT SUM(saleprice)FROM OrdersWHERE custId = 2; Result From Prob10 + 항목이름이 뭔지 기억안나는 것만 주의하자 번외. 1번 고객의 최초 구매일, 마지막 구매일 더보기 SELECT min(orderdate), max(orderdate)FROM OrdersWHERE custId = 1; 날짜라고 해도 min과 max의 범주 안에 들어간다 번외2. 고객ID가 2인 고객이 구매한 책의 수를 세어보자 더보기 SELECT COUNT(*)FROM OrdersWHERE custId = 2; 구매 횟수만 보는 것이기에 *을 사용하여 행의 개수만 세어주어도 충분하다 똑똑한 여러분들이라면 분명 모두 잊지 않고 잘 풀어냈을 것이라 믿는다 728x90 공유하기 게시글 관리 TimeMap.exe 저작자표시 비영리 변경금지 'Development Study > Backend' 카테고리의 다른 글 [SQL] 데이터분석의 농경지, CREATE TABLE (0) 2022.10.20 [SQL] 데이터분석의 꽃, GROUP BY(~HAVING, DESC) (0) 2022.10.20 [SQL] 연습 문제 ( SELECT함수 ~ 집계 함수 ) (0) 2022.10.08 [SQL] 저장된 데이터를 원하는 대로 찾아보자 ( SELECT ~ 집계 함수 ) (0) 2022.10.07 [GoormIDE/SQL]DB를 외부에서 접속 해보자 (0) 2022.10.07 Contents 당신이 좋아할만한 콘텐츠 [SQL] 데이터분석의 농경지, CREATE TABLE 2022.10.20 [SQL] 데이터분석의 꽃, GROUP BY(~HAVING, DESC) 2022.10.20 [SQL] 연습 문제 ( SELECT함수 ~ 집계 함수 ) 2022.10.08 [SQL] 저장된 데이터를 원하는 대로 찾아보자 ( SELECT ~ 집계 함수 ) 2022.10.07 댓글 2 + 이전 댓글 더보기