전체 글(72)
-
SQL (시퀀스와 제약조건, 식별자, 비식별자)
시퀀스시퀀스란 번호를 순차적으로 증가하는 숫자를 생성하는 객체이다.MariaDB 의 경우 컬럼 자체에 auto_increment라는 번호를 자동으로 증가를 할 수 있는 옵션이 있으나 오라클에서는 자동 증가 컬럼을 사용할 수가 없다. 그러므로 오라클에서는 컬럼의 값을 증가시키기 위해서는 시퀀스를 사용하거나 MAX(컬럼) + 1 을 사용하여 번호를 증가시켜야 한다. 시퀀스 옵션CREATE SEQUENCE 시퀀스명[INCREMENT BY n] [START WITH n] [MINVALUE n | NOMINVALUE] [MAXVALUE n | NOMAXVALUE] [NOCYCLE | CYCLE] [NOCACHE | CACHE] [NOORDER | ORDER] *하지만 실무에서는..
2024.09.13 -
SQL 그룹함수(group by, grouping, rollup,cube)와 having
group bygroup by는 해당 컬럼의 같은 값끼리 그룹화를 진행시켜주는 구문이다. 형식은 group by 컬럼명의 형태로 적는다.--부서별로 그룹나누기--select deptno from empgroup by deptno;--직업으로 그룹화하기--select job, count(*) as job_count from empgroup by job order by job_count;group by를 사용할 경우, group by에 정의되지 않은 컬럼은 select 절에서 사용할 수 없다. 부서별로 그룹화했는데 사원이름인ename을 함께 출력하고자 하여 select 절에 ename을 추가하게 되면 에러가 발생한다. 이미 그룹화를 하여 그룹별 하나의 값인 단일행으로 그룹화되었는데 사원이름은 다중행이다보니..
2024.09.12 -
SQL order by(다양한 정렬방법들) 와 집계함수
orderby order by는 쿼리문중에 순서상 가장 마지막에 수행된다. 정렬을 수행하는 구문이기때문에 출력할 값들을 전부 고른 후에 어떻게 정렬할지 order by구문에서 정의되기때문이다.order by가 생략될 경우에는 출력되는 컬럼들은 랜덤으로 정렬되어 출력된다 order by_오름차순--order by----asc, desc--select * from emp;--select절의 맨 마지막에 작성--select * from emp order by sal; --오름차순--select ename, job from emp order by sal; --select 절에 명시되지 않은 컬럼을 기준으로 정렬하는것도 가능함----이렇게 적을 경우 orderby가 항상 마지막에 실행되기 때문에----사원이름과 ..
2024.09.12 -
SQL dual 테이블과 연산자와 where절
dual테이블dual테이블은 쿼리 결과를 쉽게 확인해볼 수 있는 임시 테이블이다.--dual테이블 사용하기--select * from dual;--daul테이블에서는 true라면 x가 출력된다--select 100+88+90 from dual;select 273/3 from dual;--dual테이블을 사용하지 않는 경우select * from dept;--dept테이블의 행은 4개--select 2*2 from dept;--연산을 할때 dept테이블을 사용했으므로 행의 개수인 4개만 출력--dual테이블을 다른 연산자없이 사용하게되면 위의 스크립트 창처럼 x라는 값을 반환하는데 이는 그냥 x라는 단하나의 값을 저장하고있을뿐 사실상 의미는없다.쿼리문 실행결과가 하나의 행으로 출력하기 위해 하나의 값을 구..
2024.09.12 -
SQL 데이터베이스 다루기_[alter,별칭]
테이블의 구조변경(DDL)테이블의 내용이 아닌, 테이블 구조 자체를 변경하는 가장 대표적인 DDL중 하나인 alter에 대해서 알아보자.alter은 테이블의 구조를 수정하거나 변경할때 사용하며, sql언어마다 대부분 비슷하지만 오라클addmodifydrop columnrename torename column to*오라클의 경우 column이 붙은 명령어는 단일행만 수정가능하다. mysql(MongDB포함)add columnmodify columndrop columnrenamechange column 이정도의 차이점이 존재한다.그럼 일단 alter을 연습할 테이블을 간단하게 하나 만들어주고 시작하자..!--테이블 생성create table emp1( empno number, ena..
2024.09.11 -
SQL 데이터베이스 다루기_[오라클 테이블 생성, 변경, 삭제]
테이블 생성하기테이블을 생성할때는 create table이라는 구문을 사용하여 테이블을 만들어야한다.예시로 기업에서 서비스 이용자의 테이블을 만든다고 가정한 후, 테이블을 제작한다.--테이블 생성하기----테이블 구성 로직--1)기업의 서비스 이용자 데이터 수집 테이블 생성--2)이용자ID, 가입일자, 사용횟수, 사용시간create table user_info( ID varchar2(10), join_data varchar2(20), count number, time number);간단하게 테이블 생성!테이블을 생성할때의 기본 구조는 테이블명, 컬럼명, 형식과 형식에 들어갈 데이터 사이즈를 지정해야한다.이때 문자는 가변형인 varchar2와 고정형 char를 사용하며, 숫자는 num..
2024.09.11