BOAZ SQL 스터디(1)-basic SQL

업데이트:

Basic SQL

SQL WHERE

항상 순서를 따라야 한다. SELECT, FROM, WHERE

How does WHERE work?

SELECT * FROM tutorial.us_housing_units는 그대로 수행하고, 결과는 WHERE조건을 만족하는 행만 포함한다.

Excel에서는 다른 속성의 순서를 변경하지 않고 한 속성의 순서만 바꾸는 것이 가능하지만, DB에서는 모든 행이 동일하게 유지된다.

각 행을 하나의 데이터 포인터 또는 관측치로 보는 것. 행에 포함된 모든 정보를 함께 유지하는 것.

비교 및 논리 연산자를 통해 여러 방법으로 필터링할 수 있다.

SQL Comparison Operators

비교 연산자들은 숫자형 데이터와 비숫자형 데이터에 모두 사용할 수 있다.

on non - numerical data

비숫자형에서는 항상 작은따옴표 '를 사용해야 한다.

month_name이 ‘j’ 또는 이후 알파벳으로 시작하는 row를 가져온다. jaj보다 크다고 생각하기 때문에 이렇게 나오는 것! 사전식이다.

Arithmetic in SQL

산술 연산자는 같은 행의 여러 열에서만 사용할 수 있다. 여러 열에 적용을 하고 싶으면 aggregate function 써야 한다.

컬럼 이름과 실제 수를 같이 사용할 수 있다.

산술 연산이 포함된 컬럼을 ‘파생 열’ 이라고 한다.

연산의 순서 괄호로 지정할 수 있다. 가독성을 위해 꼭 필요한 경우가 아니라도 사용하는 게 좋다.

SQL Logical Operators

논리 연산자로 여러 번의 비교 연산을 수행할 수 있다.

Like

정확한 것이 아니라 비슷한 것을 매치시키는 연산자

GROUP이라는 SQL 함수가 있으므로, "를 통해서 컬럼 이름임을 표시한 것. 일반적으로 단어나 구에서 "는 컬럼 이름임을 가리킨다.

Wildcards and ILIKE

%는 어떤 문자나 문자의 집함을 나타낸다. ‘wildcard’라고 한다. Like는 대소문자를 구별한다. ILIKE로 대소문자 구분을 무시할 수 있다.

_를 사용해서 개별 문자를 대신할 수 있다.

더 많은 Wildcard 사용법

IN

파이썬 멤버십 연산자와 비슷하다.

비교 연산자와 같이 비숫자형 값에 대해서는 '를 사용해줘야 한다.

BETWEEN

특정 범위 값에 해당하는 값(범위의 양 끝도 포함한다)을 찾고 싶을 때 사용한다. AND 연산자와 같이 사용된다.

IS NULL

결과의 결측치 값을 제외할 떄 사용한다.

excel에서는 null값이 큰 의미가 없지만 SQL에서는 꽤 중요하다.

WHERE artist = NULL은 작동하지 않는다. null 값에 대해 산술 연산이 불가능하기 때문!

AND

두 개 이상의 조건을 만족하는 행을 가져올 수 있도록 한다.

AND는 모든 조건이 만족해야 작동하며, 중첩해서 사용할 수 있다.

OR

두 개 이상의 조건 중 하나라도 만족하면 실행한다. AND 연산과 괄호와 함께 사용 가능하다.

NOT

non-null 행을 가져올 떄도 많이 쓰이는데, 특이하게 ISNOT 앞에 써야 한다.

ORDER BY

여러 컬럼으로 정렬할 수도 있다. 데이터가 카테고리이고, 날짜순으로 정렬하고 싶은데, 카테고리의 순서는 유지하고 싶을 때 주로 사용한다.

  1. ORDER BY는 컴마로 구분된다.
  2. DESC 연산은 해당하는 컬럼에만 적용된다.
  3. 앞선 컬럼부터 정렬되고, 이후 뒤 컬럼이 정렬된다.

by multiple columns

SELECT문에서 선택된 컬럼의 순서로도 접근할 수 있다.(DBMS마다 다를 수 있음)

LIMIT문과 함께 쓰일 때, 정렬이 먼저 이루어지고 LIMIT이 실행된다. 따라서 작은 순서로 100개 가져온다고 하면, 전체 테이블에서 작은 순서로 100개를 가져온다. 첫 100개의 작은 순서로 가져오는 것이 아니다.

Using comments

--(two dashes)를 사용해 inline 주석을 달 수 있다.

/*를 사용해 여러 line 주석을 달 수 있다.

댓글남기기