본문 바로가기

Backend68

08. Oracle DB, 오라클 함수 (nvl, chr, concat, 날짜, 숫자, 문자) ○ 자주 쓰이는 오라클 함수 ① nvl() - null값을 원하는 다른값으로 바꿈 - 형식) nvl(원래 값, 대체할 값) -- 주소가 'Incheon'인 행의 국어점수 최대값, 인원수를 조회하시오 select max(kor), count(*) from sungjuk where addr='Incheon'; -- max(kor)=(null) / count(*)=0 : 'Incheon'이 없기 때문에 select count(*)+1 from sungjuk where addr='Incheon'; -- 2 : 연산 가능 select max(kor)+1 from sungjuk where addr='Incheon'; -- (null) : null과는 연산이 불가능 select nvl(max(kor), 0) from.. 2022. 5. 17.
07. 자료형 (표준 SQL, Oracle DB, Maria DB) ○ 표준SQL 자료형 ① 문자 - VARCHAR : 가변형 예) varchar(5) 'sky' > 5칸 중 남은 2칸은 지움, 메모리를 효율적으로 사용가능 아이디, 비밀번호, 이름, 주소 등 - CHAR : 고정형 예) char(5) 'sky' > 남은 2칸도 지우지 않고 기억 주민등록번호, 우편번호, 계좌번호 등 (글자수가 절대적으로 고정되어 있는 것) ② 숫자 - INT : 정수형 ③ 날짜 - DATE : 날짜 create table sungjuk( sno int not null ,uname varchar(50) not null ,kor int not null ,eng int not null ,mat int not null ,aver int null ,addr varchar(50) ,wdate dat.. 2022. 5. 17.
06.Oracle DB, 그룹화 (distinct, group by, 집계함수, having, case when ) ○ distinct - 칼럼에 중복내용이 있으면 대표값 1개만 출력 - 형식) distinct 칼럼명 select addr from sungjuk;--모든 칼럼의 addr 선택 select distinct addr from sungjuk;--중복하는 addr 한번만 선택 ○ group by - 칼럼의 동일 내용끼리 그룹화 시킴 - 형식) group by 칼럼1, 칼럼2, 칼럼3 ... select addr from sungjuk group by addr; - 그룹시키고 나올수 있는 값은 1개만 조회 가능 select addr, uname from sungjuk group by addr;--ORA-00979: GROUP BY 표현식이 아닙니다. ○ 집계함수 - 칼럼에 중복내용이 있으면 대표값 1개만 출력 .. 2022. 5. 16.
05. Oracle DB, 제약조건 (Constraint) ○ 테이블 제약조건 ① primary key - 기본키, 유일성 - 중복 및 null값을 허용하지 않음 (빈값을 허용하지 않음) - where 조건절에 걸릴 수 있는 대표적인 칼럼을 강제할 수 있다 - 예) 주민등록번호, 핸드폰번호, 이메일, 아이디, 계좌번호 등 ② not null - 빈값을 허용하지 않음 (반드시 입력해야 함) ③ check - 입력할 값을 특정범위로 제한하는 조건 ④ default - 사용자가 값을 입력하지 않으면 해당칼럼이 정의한 기본값을 자동으로 입력 ⑤ unique - 중복 허용 안함 - null값은 한번만 허용 ⑥ foreign key - 외래키, 테이블 조인하는 경우 부모와 자식 관계를 설정 -- sungjuk테이블 생성 create table sungjuk( sno int.. 2022. 5. 16.
04. Oracle DB, Select문 (Alias, WHERE, LIKE, Sort, NULL, 연산자, 서브쿼리) ○ SELECT 문 - DB에 저장되어 있는 데이터를 조회 - 형식) select 칼럼명1, 칼럼명2, 칼럼명3, ... from 테이블명; --전체 레코드 조회 SELECT uname, kor, mat, eng, aver, addr, wdate FROM sungjuk; SELECT *-- * : 모든 칼럼 조회 FROM sungjuk; - 전체 행 개수 구하기 : select count(*) from 테이블명; select count(*) from sungjuk; ○ 별칭(Alias) 설정 - 형식) select 칼럼명1 as 별칭1, 칼럼명2 as 별칭2, 칼럼명3 as 별칭3, ... from 테이블명; -- 칼럼명 임시 변경(보여지는 것만 잠시 바꿈) select uname, kor as kore.. 2022. 5. 15.
03. SQL 기초(DCL, DDL, DML) ○ SQL문 - Stored Query Language - 어떻게 작업을 수행할지가 아니라 무엇을 해야할지에 관해 정의하는 결과중심적 언어 - 절차적은 아님 ( cf. 자바는 절차적언어) - SQL 명령어는 대소문자를 구분하지 않는다 - 주석 -- - ANSI SQL문 : 표준SQL문, DBMS의 종류에 제약을 받지 않음 ○ SQL문의 종류 - DCL, DDL, DML ① DCL (Data Control Language, 제어어) - 사용자가 별로 쓸일 없음. 호스팅업체가 주로 사용 - grant 사용자 접근 권한부여 - revoke 사용자 접근 권한 취소 - deny 특정사용자만 접근차단 ② DDL (Data Definition Language, 정의어) - DB및 TABLE에 대한 정의 - Creat.. 2022. 5. 13.