파이썬과 마찬가지로 - SQL에서는 --을 통하여도 주석처리가 가능하다.각 문장별로 주석처리를 원하지 않고 장문의 글을 주석처리 하고자 하면 아래와 같이 주석처리가 가능하다.
SQL에는 크게 4가지의 데이터 타입이 존재한다.데이터 타입을 알아야 하는 이유는 특정 column에 타입을 부여하면 해당 타입의 값만을 입력 할 수 있게 되기 때문이다.숫자값을 표현소숫점 없는 음수와 양수의 숫자열 데이터표현 숫자 범위 (-21억~+21억)주로 사용하
아래와 같이 CREATE TABLE 후에 list 테이블 이름을 지정하여 테이블을 생성할 수 있다.Column의 경우 이름을 입력하고 해당 column의 데이터 타입을 입력하여 생성한다.group\_의 경우 SQL문법과 겹치는 명령어 임으로 group 이라는 컬럼을 생
실행시 데이터 베이스를 삭제한다.실무에선 사용되지 않는다.만약 데이터 베이스가 존재하는지 모를 경우 IF EXISTS 를 붙여 '존재할 경우 지워라'라는 명령이 가능해진다.원하는 테이블을 지울수 있다.자신이 생성한 테이블이 잘못되어 있거나 기존에 생성한 테이블이 마음에
자신의 테이블에 원하는 row 단위의 값을 삽입시 INSERT INTO를 사용하여 값을 삽입한다.이 경우 value의 값의 개수는 컬럼의 개수와 일치해야 한다. 그렇지 않을 경우 error메시지가 뜬다.만약 여러개의 row들을 입력하고 싶으면 아래와 같이 값을 삽입한다
weloveteam 이라는 데이터 베이스를 생성한다.welove라는 벤드의 테이블을 생성한다. 원하는 4명의 맴버에 대한 임의의 id값을 부여하고 이름과 포지션을 입력한다.테이블 생성시 테이터베이스를 지정해주어야 한다.아래의 두가지 방법중 한가지를 선택하여 생성한다.위
SELECT 문을 사용하여 원하는 컬럼을 지정하여 불러올 수 있다.별문양 \* 을 사용할 경우 모든 컬럼 값을 가져온다는 뜻이다.만약 이름만 불러오고 싶다면 SELECT 후에 name 을 사용하여 이름을 welove라는 테이블에서 불러온다.
AS의 경우에는 컬럼 다음에 붙여서 사용하는 문법으로 해당 컬럼을 사용자가 다르게 부르겠다는 뜻이다.EX: id AS i 라고 하면 id 값을 i 라고 부르겠다는 뜻이다.AS의 경우에는 해당 쿼리 내에서만 작동하지 테이블의 컬럼 이름이 바뀌는 것이 아니다.해당 문법을
데이터의 일부 즉 특정 row 수만큼 불러온다.쿼리에 마지막에 위치하고 만약 입력한 숫자가 전체 row의 수보다 클 경우 전체 row만 불러온다(파이썬의 head와 같다).아래의 쿼리의 경우 위에서 2개의 row를 가져온다.
해당 컬럼에서의 중복값을 제거한 값들만 가져온다.현제 welove 테이블 position에는 두명의 singer가 있다.이때 SELECT DISTINCT를 사용하면 하나의 singer만을 가져온다.
던전앤파이터의 캐릭터들의 정보를 가져오자.원하는 캐릭터 5개 선택하고 index부여, 이름, 전투타입, 조작난이도, 공격력, 범위, 속도, 서포트 값을 가져온다.이제 원하는 캐릭터의 정보를 입력한다.결과값 확인캐릭터들의 이름, 전투타입, 난이도를 가져오시오캐릭터의 이름
아래와 같이 name= 후에 'Berserker'를 선택하면 된다.숫자열 컬럼에 대해서는 <, <=, >, >= 을 사용하여 원하는 값들을 불러올수 있다.특정 조건이 아닌은 !=을 사용한다.
A AND B: A 와 B 둘다 True 일 경우A OR B: A 와 B 둘 중 하나만 True 이면AND NOT A: A 가 아니면 True두개의 조건을 만족해야 함으로 AND를 사용한다.두개의 조건을 만족해야 함으로 OR를 사용한다.하나의 조건이 False가 나와야
BETWEEN 의 경우 AND와 비슷하다(표현이 다를 뿐이다).IN의 경우 OR과 비슷하다.그러나 조건이 세개 이상일 경우 IN이 훨씬 효율적이다.
특정 문자열을 포함한 값을 추출해준다.컬럼이름 LIKE "검색할 문자열" 형식으로 사용한다.문자열에는 와일드카드 % 와 \_ 가 존재한다.% : 몇 개 이상의 문자\_ : 1개의 문자% : 0개 이상의 문자\_ : 1개의 문자\_\_ : 2개의 문자\_\_% : 2개
NULL 값 확인을 위해 df 테이블에 dark-knight의 이름을 입력하고 전투스타일은 공백으로 넣고 나머지 값들은 넣지 않는다.표 출력표에서 보여주는 것처럼 공백과 NULL 값은 다르다.난이도가 NULL인 캐릭터의 정보를 추출하시오전투스타일이 NULL이 아닌 캐릭
OVER(조건) 형식으로 ROW_NUMBER() 함수의 조건을 지정한다.PARTITION BY 함수를 통해 A 컬럼에 대한 grouping을 진행한다(GROUP BY와 동일하다).ORDER BY 함수를 통해 B 컬럼을 기준으로 정렬하겠다고 지정한다.ROW_NUMBER(
LAG(조건) OVER(PARTITION BY A ORDER BY B)LAG는 해당 컬럼의 이전 헹의 값을 리턴한다.조건1의 경우 몇번째 전의 값을 가져올지 지정한다(defult는 1).조건2의 경우 불러올 값이 없을 경우 어떠한 값을 넣을지를 지정한다.LEAD는 해당
OVER의 경우 특정 조건을 걸 때 사용된다.PARTITION BY의 경우 A 컬럼에 대한 grouping을 진행한다.ORDER BY는 B컬럼에 대한 오름차순 정열을 진행한다.
CAST의 경우 컬럼의 data type의 형식을 변환한다.CAST("10" AS INT) 로 할 경우 문자열인 "10"을 INT형인 10으로 가져온다.CAST(FLOOR(PURH_DAY/30) AS STRING) AS PURH_DAY_BY_30PURH_DAY 컬럼의
CONCAT의 경우 조건에 있는 문자열들을 하나의 문자열로 합쳐준다.CONCAT(CAST(FLOOR(DAYS/365) AS STRING), "년", CAST(MONTH AS STRING), "월", WEEKDAY, '요일')DAYS라는 INT type의 값을 365로
NVL의 경우 컬럼 값이 NULL일 때 해당 값을 어떻게 마킹할지를 정해준다.NVL(COL_A, 0) AS COL_A_NULL_OCOL_A의 값에 NULL 값이 있을 경우 0으로 NON-NULL에 대해선 그대로 리턴하여 COL_A_NULL_O에 지정한다.NVL2의 경우
SUBSTR의 경우 문자열의 특정 길이만큼을 slice하여 리턴한다.시작은 0이 아닌 1부터길이의 경우 설정하지 않으면 defult로 문자열의 시작점 부터 끝까지 불러온다.SUBSTR("ABCD23456", 4)위의 경우 "D123456" 값을 리턴한다.SUBSTR("
python의 concat과 유사하다.합치려는 데이터 들의 컬럼 개수와 data type이 동일해야 한다.합쳐진 데이터 프래임에 중복된 열이 존재할 경우 제거하고 출력한다.UNION ALL 을 명명하게 될 경우 중복값을 제거하지 않고 출력한다.
PARTITION을 테이블 생성시 사용할 경우 특정 컬럼의 특정 값에 대해서만 불러온다.생성하고자 하는 테이블의 용량이 클 경우 PARTITION을 활용하여 용량을 줄일 수 있다.WHERE 절과는 다르게 사용된다.T1 이라는 빈 테이블을 생성한다.이때 밑에 PARTIT
위의 코드를 실행 후 쿼리를 실행하면 메모리와 러닝타임 값을 확인 할 수 있다."PHYSICAL_MEMORY_BYTES:" 값을 통해 용량 확인이 가능하다."Time taken:" 값을 통해 총 쿼리 실행 시간을 확인 할 수 있다.