본문 바로가기
728x90
반응형

SQL9

SQL 연습 외국 웹사이트 5곳 추천 데이터 관련 직무에서 필수적으로 요구되는 SQL 을 공부하기 위한 외국 사이트를 추천합니다 ㅎㅎ SQL 연습문제 사이트 😎 HackerRank DB Fiddle SQL Fiddle SQL ZOO SQL 기본구문연습 w3School SQL Practice Learn SQL - Online SQL Terminal - Practice SQL Querys www.sql-practice.com 한국 웹사이트 중에서는 예전에 프로그래머스 SQL 문제를 풀어보기도 했었는데요. 위에 처럼 외국 웹사이트에서도 기본 구문은 얼마든지 연습할 수 있는 곳이 많기 때문에 시험 준비 때 참고 하시길 바랍니당 2023. 4. 12.
SQL DDL 데이터 정의어 총 정리 DDL은 DB구조를 생성하거나 수정 및 삭제하는 SQL문에 해당합니다 SQL종류 명령문 Data Definition Language (데이터 정의어) CREATE ALTER DROP RENAME TRUNCATE *오라클의 데이터타입 DATA TYPE 특징 CHAR(SIZE) 고정길이 문자저장 최소 1BYTE, 최대 2000BYTE VARCHAR2(SIZE) 가변길이 문자저장 최소 1BYTE, 최대 4000BYTE NVARCHAR(SIZE) 국가별 국가 집합에 따른 문자 OR 바이트의 가변길이 문자 최소 1BYTE, 최대 4000BYTE NUMBER(P,S) 가변길이 숫자 저장 방식, P(전체자리수) S(소수점자리수) DATE 날짜 및 시간 ROWID 테이블 내 행의 고유 주소를 가지는 64비트 문자 BL.. 2022. 9. 14.
SQL DML(데이터 조작어) SQL Type 명령문 Data Manipulation Language 데이터 조작어 INSERT UPDATE DELETE MERGE Transaction Control Language 트랜젝션 제어어 COMMIT ROLLBACK SAVEPOINT 1) INSERT 컬럼명을 지정 하는 경우)) INSERT INTO 테이블명(컬럼명,컬럼명2) #컬럼과 값의 개수, 데이터 타입이 동일해야함 VALUES (값,값2) 지정되지 않은 컬럼의 값은 NULL처리됨 (NOT NULL조건이 없는 전제아래) 예시) INSERT INTO TABLE(A,B) VALUES(1,2)이면 TABLE의 C컬럼은 NULL처리가 되는 것 컬럼명을 지정 하지 않는 경우)) INSERT INTO 테이블명 #테이블에 컬럼 값이 2개 일때 V.. 2022. 9. 13.
SQL Subquery 서브쿼리 사용하기 [조인과 서브쿼리의 차이점 및 특징] Join Subquery 원하는 data가 여러 테이블에 분산되어 있을 때 원하는 data가 한번의 select만으로는 불가능할 때 여러번의 select문을 사용해야 할 때 컬럼을 사용할 수 있는 위치면 모두 사용가능 (select-from-where-group by-having-order by, insert문,delete,update문 등) 괄호가 반드시 들어감 (select~~~) Subquery select문 실행의 결과는 단일행(레코드 1개) 혹은 복수행 (레코드 여러개) 2가지로 분류됨 단일행 : 비교연산자 사용 (>, 13000 ); 주의) 결과값이 복수행이 반환되는데 비교 연산자를 사용하면 에러 발생하므로 반환 값에 주의 할 것! 복수행: in/any/a.. 2022. 9. 13.
[Oracle] Join (Inner, Outer, ANSI Join) JOIN의 목적 : 찾는 데이터가 여러 테이블에 분산되어 있기 때문임 1 ) Oracle 조인 > JOIN조건과 검색조건이 WHERE절에 명시됨 1.1 Inner join : 반드시 일치하는 data를 반환함 (교집합) Equi Join : 동등 연산자를 이용한 조인 (FK/PK를 주로 사용함) SELECT table1.column, table2.column FROM table1, table 2 WHERE table1.column = table2.column; *Oracle에서는 공통컬럼을 지칭할 때 어떤 Table에서 나왔는지 지칭하지 않으면 "column ambiguously defined" 에러 발생! join테이블에 둘 다 있는 컬럼 명이라면 컴퓨터에서 어떤 컬럼을 말하는거지? 헷갈리게 되는 것 .. 2022. 9. 13.
[Oracle] SQL 주민등록번호로 나이 계산하기 처음 이 문제를 접했을 때, 현재 연도 - 출생연도의 포맷을 생각했지만 어떻게 표현해야 할지 약간 헤맸었다. 스스로 푼 방법과 다른 웹사이트를 참고해서 크게 3가지의 해결책을 찾았다. JUMIN : 주민등록번호 컬럼 주민번호의 구성을 생각해보면 총 13자리가 앞 6자리 + 뒤 7자리로 구성되어 있다 출생연도 뒷자리(2자리) + 출생월(2자리) + 출생일(2자리) + '-' + '성별을 구분하는 숫자' (1자리)+ (나머지 6자리) 1. 현재 연도 - 문자열이나 컬럼을 합쳐주는 '||' 를 이용해 '19' + 출생연도 뒷자리 붙이기 TO_NUMBER(TO_CHAR(SYSDATE,'YYYY')) - TO_NUMBER("19" || SUBSTR(JUMIN,1,2)) 2. 현재 연도 - 숫자1900을 숫자 변환.. 2022. 9. 8.
728x90
반응형