Data Literacy/SQL (32) 썸네일형 리스트형 Chapter 1. 데이터 조회, 필터링(6) - LIMIT (w/OFFSET) 이번에는 LIMIT 키워드에 대해서 살펴보겠습니다. LIMIT는 단어 그대로 무엇인가를 '제한'하는 기능을 하게 됩니다. 그럼, 무엇을 제한하는지 여부가 중요하겠죠? 바로, 쿼리를 통해 출력하는 데이터의 행(row)의 개수를 제한하게 됩니다. 우리가 회원 정보가 1만건이 있다고 했을 때, 이 중 5~10개만 먼저 표시하고 싶을 때가 있을 것입니다. 이런 경우에 사용하는 간단한 출력 제한 키워드입니다. 기본적으로 아래와 같은 형태로 사용하게 됩니다. select * from table_name limit N -- 출력하려는 행의 개수 간단하게 LIMIT 키워드로 출력하고자 하는 행의 개수를 지정하면 됩니다. 그런데 여기서 한가지 더 기억할 것이 있습니다. 바로 OFFSET 키워드입니다. OFFSET 키워드.. Chapter 1. 데이터 조회, 필터링(5) - 실전 예제1 [2/2] Q. rental 테이블에서, 대여 기간(회수일 - 대여일)이 10일 이상이었던 건에 대해서 모든 정보를 출력하세요. 단, '대여 기간'은 대여일까지 포함하여 계산합니다. 예를 들어 대여 1/1 ~ 회수 1/3이라면, 총 3일로 계산합니다. 우선은 rental 테이블 전체를 조회해서 정보를 확인해 보겠습니다. 위 데이터 중에서 [rental_date]와 [return_date]를 사용해야 할 듯 합니다. 하지만 해당 칼럼에는 시각까지 포함되어 있기 때문에, date 함수를 사용해 형 변환까지 진행해야 합니다. 그리고 두 칼럼 값의 차이를 조건에 맞게 계산하고, 해당 결과 값이 10보다 크거나 같은 건들을 출력하면 되겠네요. 이를 순서대로 쿼리로 작성해 보겠습니다. select *, date(return_.. Chapter 1. 데이터 조회, 필터링(5) - 실전 예제1 [1/2] 이번 아티클에서는, 지금까지 배운 내용들을 기반으로 간단하게 예제를 풀어보도록 하겠습니다. 해당 문제들은 모두 dvdrental DB를 이용해 풀이합니다. 가능한 설명을 보지 않고, 주어진 조건을 먼저 생각해보고 직접 데이터를 조회해 보기 바랍니다. Q. 한 건이라도 DVD 대여가 발생한 날이 언제인지, 날짜들을 리스트로 만들어 주세요. (년, 월, 일) DVD대여와 관련한 데이터는 'RENTAL' 테이블에 있을 것으로 보입니다. 하나씩 확인해 보겠습니다. select * from rental r 위와 가같이 확인해보니, [RENTAL_DATE] 칼럼에서 대여가 발생한 날짜를 확인할 수 있습니다. 그런데 한 가지 문제점이 눈에 띕니다. 우리가 원하는 데이터는 발생 "날짜"만을 원하는 것입니다. 그런데 여.. Chapter 1. 데이터 조회, 필터링(4) - WHERE 지금까지 SELECT FROM 등의 쿼리를 기반으로 기본적인 칼럼 선택과 출력 절차를 살펴보았습니다. 그럼 본격적으로 관련 데이터 출력에 있어서 '조건'을 검색해야 할 필요성이 떠오르실 것입니다. "이름이 000인 사람", "비용을 지불한 사람", "키가 180 이상인 사람"... 같은 조건을 걸어 데이터를 추출하고 싶은 경우가 대부분일 텐데요, 이제 이러한 조건을 걸어 데이터를 조회하는 방법을 배워보겠습니다. WHERE이 바로 그 키워드입니다. 사용법 자체는 간단합니다. SELECT(칼럼) > FROM(테이블) > WHERE(조건) 순으로 원하는 내용을 작성해 주면 됩니다. 예를 들어 CUSTOMER 테이블에서 LAST_NAME과 FIRST_NAME을 출력해야 하는데, [FIRST_NAME이 'Jami.. Chapter 1. 데이터 조회, 필터링(3) - SELECT DISTINCT 이번 아티클에서는 SELECT DISTINCT 문을 배워보도록 하겠습니다. 지금까지 다룬 명령어에 비해서 살짝 난이도가 올라가는 부분이니, 꼼꼼하게 내용을 살펴보도록 하겠습니다. SELECT DISTINCT는 한마디로 요약하면 [중복제거]입니다. 그 이상의 별다른 의미는 없죠. 간단합니다. 엑셀에서도 '중복제거'와 관련된 기능이 있는데, SQL에서도 동일한 기능을 쿼리를 통해서 구현한다는 차이점만 있을 뿐입니다. 앞서 배운 ORDER BY 내용까지 잘 기억하고 있다면 큰 어려움은 없을 것입니다. ○ 중복제거 테스트 용 테이블 T1 생성 우선 중복제거 SELECT DISTINCT의 원활한 실습을 위해서, 임의의 테이블을 만들어 보겠습니다. 중복제거 명령어 학습에 딱 맞는 테이블을 만들고, 이 테이블을 대상.. Chapter 1. 데이터 조회, 필터링(2) - ORDER BY SELECT FROM을 통해서 어떤 DB에서 데이터를 불러왔을 때, 데이터 정렬을 위해서 사용하는 명령어가 ORDER BY입니다. 간단히 요약하면 오름차순, 내림차순을 결정하게 되죠. 기본적인 쿼리 유형은 아래와 같습니다. select column1, column2 from tbl_name order by column1 asc, column2 desc 출력되는 칼럼의 값들을 어떤 기준으로 정렬하는지 간단하게 결정할 수 있는데요, 샘플 DB에서도 한번 ORDER BY를 테스트해보겠습니다. CUSTOMER 테이블에서 FIRST_NAME과 LAST_NAME을 출력하되 FIRST_NAME의 오름차순으로 데이터를 출력해 보겠습니다. select first_name, last_name from customer c .. Chapter 1. 데이터 조회, 필터링(1) - SELECT ○ SELECT 사용하기 SELECT는 기본적으로 테이블에 저장된 데이터를 불러오는 데 사용합니다. SELECT 다음에 조회하고자 하는 테이블의 [칼럼 단위]를 입력해 출력합니다. 해당 테이블 전체(칼럼) 조회가 필요하다면 ' * '를 사용하게 됩니다. SELECT를 사용해 컬럼을 조회한다면, 해당 칼럼들을 포함하는 테이블도 정의해야 합니다. 칼럼을 SELECT로 지정하고, FROM을 이용해 컬럼을 조회할 테이블을 선언하게 됩니다. 정리하면 아래와 같습니다. SELECT COLUMN1, COLUMN2, 중략 FROM TABLE_NAME; dvdrental DB를 이용해서 실습해 보겠습니다. 우선 dvdrental DB의 테이블 중 [CUSTOMER] 테이블을 기준으로 살펴보겠습니다. 해당 테이블의 "다이.. Chapter 0. 실습환경 구축 우선 이번 아티클에서는 SQL 내용 전반을 실습하는 환경에 구축에 대해서 먼저 정리하고 넘어가려고 합니다. 일단 DB 구축과 관련해서는 PostgreSQL을 사용하고, 쿼리 사용은 DBeaver에서 진행할 예정입니다. 우선 PostgreSQL 설치에 있어서 발생하는 주요 이슈를 먼저 짚고 넘어가겠습니다. 일반적으로 윈도우 10 이상의 환경에서 PostgreSQL 인스톨러 오류가 발생해서 설치가 제대로 되지 않는 경우가 있는데, 가장 근본적인 해결 방법을 먼저 살펴보겠습니다. Community DL Page Note: EDB no longer provides Linux installers for PostgreSQL 11 and later versions, and users are encouraged to .. 이전 1 2 3 4 다음