SQL
-
SQL) ROLLUP, CUBE 함수에 대한 이해와 고찰SQLD/SQL 기본과 활용 2020. 8. 31. 16:20
# SQL 전문가 가이드만으로는 미천한 나의 머리가 따라가지 못했다. # ROLLUP 과 CUBE 함수의 작동원리가 너무 궁금한 나머지 구글링과 직접실험을 하여 얻은 지식을 여기에 공유하고자 한다. 1. ROLLUP 작동원리 위 그림 한장이면 충분하다고 본다. 그래도 이해가 되지않으면 밑의 CUBE 함수 작동원리 예제를 보며, 출력 값을 자세히 들여다보고, 실제로 ROLLUP 함수를 DB에서 돌려본다면 이해가 빠를것이다. 출처에 표기된 사이트의 포스팅도 참고하면 이해에 도움이 될 것이다. 2. CUBE 함수 작동원리 - SQL 전문가 가이드에서는 칼럼의 수가 N이라고 할때 2의 N제곱 LEVEL의 Subtotal을 생성한다고 한다. - 책에서 등장한 LEVEL 에 대한 예시와 설명은 단 한번 등장한다. ..
-
SQL의 LIKE, IN, BETWEEN 연산자 및 연산자 우선순위SQLD/SQL 기본과 활용 2020. 8. 20. 16:31
1. 연산자 우선순위 : ( ), NOT, AND, OR ex) SELECT ENAME FROM EMP WHERE E_ID = '1' OR E_ID = '2' AND SAL >= '500' AND HEIGHT >= 170; => AND가 먼저 묶이고 OR이 묶임. E_ID = '2' 와 SAL>=500 이 하나로 묶이는 듯. 나중에 확인 해볼 것. 참고) NOT 연산자는 , !=, ^= 로 대체가능 2. LIKE 'str'[Wildcard] # Wildcard : % : 0개 이상의 문자 _ : 1개 단일 문자 # 예시 1 SQL> SELECT E_NAME FROM EMP WHERE E_NAME LIKE '김%' # 실행결과 E_NAME ------ 김희선 김흥국 김지선 김소영 김수현 김칫국 .... 총..
-
SELECT 문, 산술연산자, 합성연산자SQLD/SQL 기본과 활용 2020. 8. 19. 00:40
# SELECT [ALL/DISTINCT] 칼럼명, 칼럼명, ... # [ ] 안의 표현식은 Option이며 Default 값은 ALL 이다. # FROM 절에서 ALIAS를 사용한다면, SELECT 절에는 반드시 ALIAS명을 사용해야 한다. # ALL 이 DEFAULT 옵션 # DISTINCT 는 중복제외 (Pandas 의 unique) SQL> SELECT [ALL/DISTINCT] col1, col2, col3 FROM tab1; # 예시 SQL> SELECT DISTINCT PLAYER_ID, POSITION_ FROM PLAYER; # 실행결과 PLAYER_ID POSITION_ --------- ----------- 10102 DF 13244 CB 16123 GK 30242 FW 43321 ..
-
SQL Data Type in Oracle and SQL Server (SQL 데이터 유형)SQLD/SQL 기본과 활용 2020. 8. 18. 23:33
1. CHARACTER(s) - 고정 길이 문자열 - s는 기본 길이 1byte - 입력된 데이터가 s 보다 짧을 경우 공백으로 대체 - 비교연산시 끝의 공백빼고 앞이 모두 같다면 같은 문자열로 취급 # Oracle - CHAR(s) 로 표현 - s의 최대 길이 2000bytes # SQL Server - CHAR(s) 로 표현 - s의 최대 길이 8000bytes 2. VARCHAR(s) - 가변 길이 문자열 - s 만큼의 가변길이를 갖지만 할당된 변수값의 바이트만 적용됨 - 비교 연산시 공백도 하나의 문자로 취급 # Oracle - VARCHAR2(s) 로 표현 - s의 최대 길이 2000bytes # SQL Server - VARCHAR(s) 로 표현 - s의 최대 길이 8000bytes 3. NU..