SQL/ORACLE SQL 32

ORACLE : 날짜 함수, 형 변환 함수

날짜 함수 SYSDATE 시스템 저장 현재 날짜를 반환 MOTHS_BETWEEN 두 날짜 사이의 개월수 ADD_MONTHS 특정 날짜의 개월수 더함 NEXT_DAT 특정날짜에서 최초로 도래하는 인자로 받은 요일의 날짜를 반환 LAST_DAY 해당달의 마지막 날짜 ROUND 인자로 받은 날짜를 특정 기준으로 반올림 TRUNC 인자로 받은 날짜를 특정 기준으로 잘라냄 현재 날짜 select sysdate from DUAL; 날짜 연산(날짜 + 숫자),(날짜 - 숫자) 그 날짜로부터 숫자만큼 지난 날짜를 계산 select sysdate -1 어제, sysdate 오늘, sysdate+1 내일 from DUAL; employee 테이블 사원의 근무일수 계산 select ename 사원명, round(sysdat..

SQL/ORACLE SQL 2022.11.02

ORACLE : 문자 처리 함수, 숫자 함수

DUAL TABLE 오라클 자제 제공 테이블 함수의 결과값을 확인할떄 사용하는 테이블 SYSTEM 사용자가 소유한 표준 테이블 (어느 사용자나 접근가능) 한행 한컬럼을 담고 있는 Dummy 테이블 함수의 쓰임을 알고싶을 때 특정 테이블을 생성할 필요 없이 DUAL테이블을 사용 함수의 값을 리턴받을수 있음 함수 (리턴값이 존재) -- 아래는 오라클에서만 사용, 표준은 아니다 1. 문자 함수 대소문자 변환 SELECT 'Oracle mania', UPPER('Oracle mania'), -- 전부 대분자 LOWER('Oracle mania'), --전부 소문자 INITCAP('Oracle mania') --단어의 첫 글자를 대문자로 변환 from DUAL; 문자 길이 LENGTH (한글 1바이트) selec..

SQL/ORACLE SQL 2022.11.02

SELECT : 검색 LIKE 그리고 IS NULL

LIKE 칼럼에 저장된 데이터의 일부만 일치하더라도 조회가 가능 % : 자리수가 의미 없음 %길동 김길동 홍길동 박길동 다 검색됨 _ : 자리수 에 따라 달라짐 사원명이 '스'로 시작하는 모든 사원 select * from employee where ename like '스%'; 사원명이 '스'로 시작하는 모든 사원을 제외 select * from employee where ename not like '스%'; 사원명이 '스'로 끝나는 모든 사원 select * from employee where ename like '%스'; 사원명이 '스'로 끝나는 모든 사원을 제외 select * from employee where ename not like '%스'; 사원명에 '드'가 포함된 사원 select * ..

SQL/ORACLE SQL 2022.11.01

SELECT : 검색 BETWEEN AND 그리고 IN

BETWEEN AND a :하한값 b:상한값 a와 b 사이의 데이터를 찾는다 a 와 b 를 포함한다 BETWEEN a AND b 월급이 1000~1500 사이의 사원을 출력 select * from employee where salary between 1000 and 1500; 입사일이 81/01/01 ~ 81/12/31 사이의 사원을 출력 --날짜 (' ') select ename 사원명,hiredate 입사일 from employee where hiredate between '81/01/01' and '81/12/31'; IN in(a,b,c) : a 이거나 b 이거나 c인 것 NUMBER 타입만 가능 select * from employee where commission in(300,500,1400..

SQL/ORACLE SQL 2022.11.01

SELECT : 검색 WHERE 조건

TABLE EXAMPLE 사용 select 컬럼명 from 테이블명 where 조건 월급이 1500인 사원의 사원번호, 사원명, 월급 select eno 사원번호, ename 사원명 ,salary 월급 from employee where salary = 1500; 월급이 1500이 넘는 사원의 사원번호, 사원명, 월급 (1500 포함 X) select eno 사원번호, ename 사원명 ,salary 월급 from employee where salary > 1500; 1500 포함 select eno 사원번호, ename 사원명 ,salary 월급 from employee where salary >= 1500; 같지 않다 , != , ^= select eno 사원번호, ename 사원명 ,salary 월..

SQL/ORACLE SQL 2022.11.01

SELECT : 검색

TABLE EXAMPLE 사용 사원 테이블에 모든 요소 출력 * 은 모든요소를 출력 select * from employee; 사원 테이블 에 eno,ename 출력 select eno ,ename from employee; as (alias, 별명) 를 사용해 칼럼에 별명을 지어줄 수 있다 select eno as 사원번호 ,ename as 사원명 from employee; as (alias, 별명) 도 생략 가능하다 select eno 사원번호 ,ename 사원명 from employee; as (alias, 별명) 에 공백이 있는 경우는 쌍따옴표("")를 붙여줘야 한다 select eno 사원번호 ,ename "사원 이름" from employee; 산술 연산도 가능 salary*12 하지만 반드시..

SQL/ORACLE SQL 2022.11.01

TABLE EXAMPLE

앞으로 사용하게될 테이블 한글 DROP TABLE EMPLOYEE; --사원 DROP TABLE DEPARTMENT; --부서 DROP TABLE SALGRADE; --급여등급 --부서 CREATE TABLE DEPARTMENT --DNO DNAME LOC 컬럼명 --CONSTRAINT 제약조건 (DNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY, --부서번호 DNAME VARCHAR2(14), --부서명 LOC VARCHAR2(13) ) ; --부서 지역명 --사원 CREATE TABLE EMPLOYEE --사원번호 (기본키) (ENO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY, ENAME VARCHAR2(20), JOB VARCHAR2(10)..

SQL/ORACLE SQL 2022.11.01

연습 - 테이블 생성

테이블 생성 연습 01 학생 테이블 학번 이름 나이 주소 전화번호 이메일 카톡ID 학번 나이 숫자 나머지 문자열 10개의 데이터 insert CREATE table student_t( st_no number, name VARCHAR2(20), age number, addr VARCHAR2(40), phone VARCHAR2(20), e_mail VARCHAR2(20), k_id VARCHAR2(20) ); 데이터 넣기 insert into student_t values ('001','가나다',22,'대구','010-1234-1234','AAA@mail','AAA'); insert into student_t values ('002','다라마',24,'서울','010-3278-1234','BBB@mail',..

SQL/ORACLE SQL 2022.11.01

INSERT INTO : 테이블에 데이터 추가

데이터 추가 insert into 테이블명 values 컬럼 데이터 예시 INSERT INTO customer_t (name,age,gender,rdate) VALUES ('홍길동',100,'M',sysdate); 컬럼 명시 개수와 데이터의 개수가 일치해야함 반대의 경우도 오류 발생 INSERT INTO customer_t (name,age,gender) VALUES ('홍길동',100,'M',sysdate); 오류 : ORA-00913 INSERT INTO customer_t (name,age,gender) VALUES ('홍길동',100,'M',sysdate); 오류 : ORA-00913 생략 할경우 모든 정보를 넣어줘야 함 insert into customer_t values ('김길동',50,'M..

SQL/ORACLE SQL 2022.11.01