SQLD
-
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 ------ 김희선 김흥국 김지선 김소영 김수현 김칫국 .... 총..
-
SQLD) NULL 과 공집합SQLD/SQL 기본과 활용 2020. 8. 19. 17:32
# NULL 의 특성 - NULL 은 아직 정의 되지 않은 값. 0은 숫자이며, 공백은 문자. - 테이블 생성시 NOT NULL 또는 PRIMARY KEY로 정의되지 않은 모든 데이터 유형은 NULL 값을 가질 수 있다. - NULL값을 포함 하는 연산의 경우 결과 값도 NULL. - NULL값을 비교연산(=, !=)시 FALSE 리턴. (NULL값의 비교연산은 IS NULL 이나 IS NOT NULL 로 가능) - NULL은 집계함수에서 연산에 사용되지않는다. (자원 사용 효율에 좋음, Skip한다고 생각하면됨) # NVL(exp1, exp2) / ISNULL(exp1, exp2) * Oracle * SQL Server - exp1의 결과값이 NULL이면 exp2를 출력 (exp1과 exp2의 데이터 ..
-
SQL(Oracle&SQL Server)의 CASE 표현SQLD/SQL 기본과 활용 2020. 8. 19. 17:12
/* CASE 컬럼명|표현식 WHEN 조건식1 THEN 결과1 WHEN 조건식2 THEN 결과2 ....... ELSE 결과 (ELSE값이 없으면 NULL리턴) END */ # Oracle & SQL Server (1) SELECT ORDER, CASE WHEN ORDER = 'Fired Chicken' THEN '후라이드 치킨' WHEN ORDER = 'Seasoned Chicken' THEN '양념 치킨' ELSE '현재 재고없음. 주문 다시받으세요' END AS KITCHEN FROM RESTAURANT; # Oracle & SQL Server (2) SELECT ORDER, CASE ORDER WHEN 'Fired Chicken' THEN '후라이드 치킨' WHEN 'Seasoned Chicken..
-
Type Casting in Oracle & SQL Server (오라클과 SQL Server의 자료형 타입변환)SQLD/SQL 기본과 활용 2020. 8. 19. 15:32
1. 문자열 -> 숫자 # Oracle - TO_NUMBER(str) # SQL Server - CAST(expression AS data_type[(length)]) # Oracle SQL> SELECT ENAME AS 사원명, TO_NUMBER (ZIP_CODE) AS 우편번호 FROM EMP; # SQL Server SQL Server> SELECT ENAME AS 사원명, CAST (ZIP_CODE AS INT) AS 우편번호 FROM EMP; # 실행결과 (Oracle & SQL Server) 사원명 우편번호 ------- ---------- 이동국 59113 김성수 23211 오뚜기 41133 ... 336 개의 행이 선택 되었습니다. 2. 숫자 | 날짜 -> 문자열 # Oracle - TO_..
-
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..
-
일반 집합 연산자 & 순수 관계 연산자SQLD/SQL 기본과 활용 2020. 8. 18. 19:29
1. 일반 집합 연산자 1) Union (UNION) - 합집합 연산 - UNION ALL은 교집합 2번 보여줌. A,B 컬럼이 교집합이 없을시 UNION ALL이 성능 ↑ 2) Intersection (INTERSECT) - 교집합 연산 3) Differecne (EXCEPT, MINUS) - 차집합 연산 4) Product (CROSS JOIN) - 곱집합 연산 2. 순수 관계 연산자 1) Select (WHERE) - 테이블의 행 추출 2) Project (SELECT) - 테이블의 열 추출 3) Join (INNER JOIN, OUTER JOIN, NATURAL JOIN 등등) 4) Divide (현재 사용안함)