Data Literacy (114) 썸네일형 리스트형 Chapter 2. JOIN을 이용한 데이터 조합 - (1) INNER JOIN 우선 당연하겠지만, JOIN이란 명령어 자체에 대한 정의가 이루어져야 JOIN과 관련된 내용을 배울 수 있을 것입니다. 기본적으로 SQL에서 JOIN은 [한 DB내의 두 개 이상의 테이블에서 레코드를 조합하여 새로운 하나의 테이블을 만들어내는] 구문입니다. JOIN을 두고 "결합"구문이라고도 하는 이유입니다. 굳이 이러한 결합 기능이 SQL에서 존재하고, 사용하는 이유가 무엇일까요? 따로 설명하지 않더라도 개발 경험이 어느 정도 있거나, 이러한 구조에 대한 이해도가 있다면 금방 이해가 가겠지만, 이러한 관념 자체가 없는 분들이라면 추후에 DB 테이블을 직접 생성하고 구조를 짜는 단계까지 갔을 때 쉽게 이해하실 수 있을 것이라고 생각합니다. 현 단계에서는, 다음 내용만 이해하고 넘어가면 되겠습니다. 회원 .. Chapter 1. 데이터 조회, 필터링(11) - IS NULL 이번 시간에 다룰 내용은 IS NULL 입니다. 아마 키워드만 봐도 대략 어떤 용도인지 감이 오시죠? IS NOT NULL과 함께 사용되며, 이는 특정 컬럼 값이 NULL인지 아닌지 여부를 판단하게 되는 키워드 입니다. 기본적인 사용 방식은 다음과 같습니다. select * from table_name where column_name is null select * from table_name where column_name is not null 우선 이번에 IS NULL 예제를 실습하기 위해서, 두 개의 row를 가진 임의의 테이블을 하나 생성해 보겠습니다. 아직 테이블 생성과 관련된 내용은 배우지 않았지만, 간단하게 명령어를 중심으로 살펴보겠습니다. create table contacts ( id in.. Chapter 1. 데이터 조회, 필터링(10) - LIKE 이제 드디어 LIKE연산자를 살펴볼 차례입니다. 사실 LIKE 연산자는 정규 표현식이나 String 데이터 관련 명령어처럼 디테일한 문자열의 조건을 지정하여 데이터를 출력할 수 있도록 도와주는 키워드입니다. 그래서, 다소 사용 방법이 어렵게 느껴지기도 하고 복잡한 편입니다. 하지만 몇 가지 주요 규칙만 기억한다면, 아주 유용하게 데이터를 검색할 수 있게 되는 유용한 명령어이니 잘 학습해 보도록 합시다. LIKE는 기본적으로 특정 칼럼의 값이 '지정한 조건과 같은 패턴을 갖고 있으면 출력하는' 명령어입니다. 여기서 어떤 패턴(조건)을 정의하느냐에 따라 출력되는 결과 값이 달라지는 것이지요. LIKE 역시 조건을 정의하는 키워드이기 때문에, WHERE과 함께 쓴다고 생각해 주시면 됩니다. 아래의 기본형 예시.. Chapter 1. 데이터 조회, 필터링(9) - BETWEEN 이번 아티클에서는 BETWEEN 연산자에 대해서 살펴보겠습니다. BETWEEN은 단어에서도 연상할 수 있듯이, '어떤 특정한 범위에 들어가는 값'을 출력하는 연산자입니다. 예를 들어 WHERE COLUMN_NAME BETWEEN X AND Y와 같은 형태가 되는 것이지요. [BETWEEN X AND Y]는 SQL에서 [X 이상이며 Y이하인 값]을 의미하게 됩니다. 이를 풀어서 WHERE 키워드 조건으로 풀어본다면 [COLUMN_NAME >= X AND COLUMN_NAME = x and column_name y와 같다 Q. PAYMENT테이블에서 지불 금액(AMOUNT)이 8달러 이상, 9달러 이하인 고객의 CUSTOMER_ID, PAYMENT_ID, AMOUNT를 출력해 주세요. select custo.. Chapter 1. 데이터 조회, 필터링(8) - IN 2 앞선 아티클에서 IN을 통해서 WHERE에서 조건을 설정하는 방법을 살펴보았습니다. IN ( ) / 또는 NOT IN ( )을 이용해서 특정 조건을 필터링하는 예제를 살펴보았죠. 여기서 OR가 적용된다는 간단하지만 중요한 원칙도 살펴보았습니다. 이번에는 IN과 서브쿼리를 연계하여 데이터를 필터링하는 형태를 살펴보겠습니다. 일단, 서브쿼리를 적용하는 사례에 앞서서, 간단하게 다음 조건을 만족하는 쿼리를 작성해 보도록 하겠습니다. 참고로 여기서 WHERE에서는 CAST 함수를 사용해서 조건을 지정하게 됩니다. Q. RENTAL 테이블에서 DVD 회수 날짜가 2005년 5월 27일인 CUSTOMER_ID가 무엇인지 출력해 주세요. select customer_id from rental r where cast .. Chapter 1. 데이터 조회, 필터링(8) - IN 1 IN 연산자는 일종의 조건 연산자입니다. 즉, 우리가 앞서 배웠던 대표적인 조건 연산자 사용 명령어인 WHERE과 깊은 관계를 맺고 있는 것이죠. 통상적으로는 WHERE에서 특정 칼럼의 조건을 기재하는 방식으로 데이터를 필터링했었습니다. 그런데 이때, 이 IN을 사용하면서 좀 더 쿼리를 간단하게 작성할 수 있습니다. 일단 기본적인 쿼리의 정의를 살펴보겠습니다. select * from table_name where column_name in (value1, value2, ...) 위와 같은 경우는 해당 칼럼(column_name)에 value1, value2가 존재하는지 여부를 검사하고 해당한다면 출력하는 조건을 부여하게 됩니다. 이 value1, value2,.... 는 OR의 조건을 갖게 됩니다. 예.. Chapter 1. 데이터 조회, 필터링(7) - FETCH(w/OFFSET) 이번 아티클에서는 FETCH 구문에 대해서도 살펴보겠습니다. 사실, LIMIT와 FETCH는 결과적으로 같은 동작을 취하게 됩니다. 즉, [특정 시작 점부터 제한된 수의 행을 출력한다]는 동작에는 변함이 없는 것이죠. 이는 DB나 프로그램의 종류에 따라서 각각의 명령어가 사용되는 경우가 있기 때문에 따로 존재합니다. 일단 LIMIT와 근본적인 사용 방법에는 차이가 없으니, 빠르게 알아보고 넘어가겠습니다. 일단 FETCH는 LIMIT처럼 출력하는 행의 수를 지정하는 명령어입니다. FETCH FIRST [N] ROW ONLY라는, 꽤나 직관적인 명령어를 사용하면 됩니다. N을 삭제하고 FETCH FIRST ROW ONLY를 실행하게 되면, 딱 하나의 행만을 출력하게 됩니다. select * from tabl.. Chapter 1. 데이터 조회, 필터링(6) - LIMIT (w/OFFSET) 이번에는 LIMIT 키워드에 대해서 살펴보겠습니다. LIMIT는 단어 그대로 무엇인가를 '제한'하는 기능을 하게 됩니다. 그럼, 무엇을 제한하는지 여부가 중요하겠죠? 바로, 쿼리를 통해 출력하는 데이터의 행(row)의 개수를 제한하게 됩니다. 우리가 회원 정보가 1만건이 있다고 했을 때, 이 중 5~10개만 먼저 표시하고 싶을 때가 있을 것입니다. 이런 경우에 사용하는 간단한 출력 제한 키워드입니다. 기본적으로 아래와 같은 형태로 사용하게 됩니다. select * from table_name limit N -- 출력하려는 행의 개수 간단하게 LIMIT 키워드로 출력하고자 하는 행의 개수를 지정하면 됩니다. 그런데 여기서 한가지 더 기억할 것이 있습니다. 바로 OFFSET 키워드입니다. OFFSET 키워드.. 이전 1 ··· 10 11 12 13 14 15 다음