SQLD/SQL 기본과 활용
-
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 (현재 사용안함)
-
SQL 문장들의 종류 (DCL, DDL, DML, TCL)SQLD/SQL 기본과 활용 2020. 8. 18. 19:13
# DCL (Data Control Language, 데이터 제어어) - GRANT : 권한 부여 - REVOKE : 부여 및 거부된 사용 권한 취소. # USER sun 에게 emp테이블에 대한 SELECT, INSERT 권한부여 # USER sun 도 다른 USER에게 SELECT, INSERT 권한을 부여 할 수 있음 (WITH GRANT OPTION) SQL>GRANT SELECT, INSERT ON emp TO sun WITH GRANT OPTION; 권한이 부여되었습니다. # USER sun 에게 부여한 emp 테이블에 대한 SELECT, INSERT 권한 회수 # USER sun 이 다른 사용자에게 SELECT, INSERT권한을 부여했으면 그 권한들도 같이 회수됨 SQL>REVOKE SEL..
-
파일시스템 vs 관계형 데이터베이스SQLD/SQL 기본과 활용 2020. 8. 18. 18:40
데이터 저장방식 1. 파일시스템 - 사용자들의 동시 검색 가능 - 사용자들의 동시 입력, 수정, 삭제 불가 - 다수의 유저나 애플리케이션에 동일한 데이터 파일을 복사 (데이터 중복) => 원본 파일에 대한 수정 발생시, 데이터 정합성 저하 및 비용증가 => 단일 사용자 및 애플리케이션에서는 DB보다 효율 ↑ 2. 관계형 데이터베이스 - 정규화를 통한 데이터 중복 감소 - 다수의 유저가 동시에 데이터 공유 및 조작 가능 (동시성 관리 & 병행제어) - 메타데이터를 통한 데이터의 표현방법 체계화 및 표준화 (데이터 품질 확보) - 인증된 사용자만 참조가능 (데이터 무결성 보장) - 갑작스런 장애로부터 사용자가 조작하던 데이터가 제대로 반영될 수 있도록 함