DISTINCT : 중복제거
MOD(m,n) : m을 n으로 나눈 나머지를 반환
EX)SELECT DISTINCT ID
FROM STATION
WHERE MOD(ID,2)= 0
[짝수]_SELECT * FROM TABLE_NAME
WHERE MOD(INDEX, 2) = 0
[홀수]_SELECT * FROM TABLE_NAME
WHERE MOD(INDEX, 2) = 1
ROW_NUMBER() : 결과 집합의 파티션 내 각 행에 순차적인 정수를 할당하는 윈도우
행의 번호는 각 파티션에 대해 1번부터 할당
정렬의 중복 값이 있어도 서로 다른 정수를 할당
LEN: 문자열 길이
OVER() :ORDER BY, GROUP BY 서브쿼리를 개선하기 위해 나온 함수
:쿼리를 짧게 만들어준다.
!!Weather Observation Station 5_STATION의 두 도시에 각각의 길이(예: 이름의 문자 수)뿐만 아니라 가장 짧고 긴 도시 이름을 쿼리
두 개 이상의 가장 작거나 큰 도시가 있는 경우, 알파벳 순으로 정렬할 때 가장 먼저 오는 도시 선택
SELECT CITY, LEN
FROM (
SELECT CITY,
LENGTH(CITY) LEN,
ROW_NUMBER() OVER(ORDER BY LENGTH(CITY), CITY) as RN_MIN,
ROW_NUMBER() OVER(ORDER BY LENGTH(CITY) DESC, CITY) as RN_MAX
FROM STATION
)
WHERE (RN_MIN = 1 OR RN_MAX = 1)
ORDER BY LEN; !!
LIKE :해당 알파벳으로 시작하는 단어 찾는 함수
_WHERE(CITY LIKE 'A%'
OR CITY LIKE 'E%'
OR CITY LIKE 'I%'
OR CITY LIKE 'O%'
OR CITY LIKE 'U%');
SUBSTRING
SELECT DISTINCT city
FROM Station
WHERE substring(city, -1) IN ('a','e','i','o','u')
(_Station 테이블에서 city 이름의 마지막 글자가 모음(a,e,i,o,u)인 목록을 출력
_중복 금지)
->정규표현식
SELECT distinct city
FROM Station
WHERE city REGEXP '.*[aeiou]$'
- .* : 앞에는 어떤 문자열이 와도 상관없다
- [aeiou]$ : 끝글자가 aeiou에 포함될 때의 조건
맨 끝글자를 제외한 처음부터 모든 글자는 어떻게 가져오나?_select substr('일이삼', -1) from dual
^[^aeiou] : 모음으로 시작하지 않는 문자열 찾기
[^aeiou]$ : 모음올 끝나지 않는 문자열 찾기
STATION에서 모음으로 끝나지 않는 CITY 이름 목록을 쿼리합니다. 결과에 중복 항목을 포함할 수 없습니다.
->SELECT DISTINCT CITY
FROM STATION
WHERE RIGHT(CITY,1) NOT IN ('A','E','I','O','U')
스테이션에서 모음으로 시작하지 않거나 모음으로 끝나지 않는 CITY 이름 목록을 쿼리합니다. 결과에 중복 항목을 포함할 수 없습니다.
SELECT DISTINCT CITY
FROM STATION
WHERE LEFT(CITY,1) NOT IN ('A','E','I','O','U')
OR RIGHT(CITY,1) NOT IN ('A','E','I','O','U')
STATION에서 모음으로 시작하지 않고 모음으로 끝나지 않는 CITY 이름 목록을 쿼리합니다. 결과에 중복 항목이 포함될 수 없습니다.
SELECT DISTINCT
CITY
FROM
STATION
WHERE
LEFT(CITY,1) NOT IN ('A','E','I','O','U')
AND RIGHT(CITY,1) NOT IN ('A','E','I','O','U')
'공부기록 > SQL' 카테고리의 다른 글
데이터 분석을 위한 SQL 레시피6 (0) | 2023.08.04 |
---|---|
데이터 분석을 위한 SQL 레시피4 (0) | 2023.08.03 |
데이터 분석을 위한 SQL 레시피3 (0) | 2023.08.03 |
데이터 분석을 위한 SQL 레시피2 (0) | 2023.08.02 |
데이터 분석을 위한 SQL 레시피1 (0) | 2023.08.02 |