목록SQL (9)
Legday
1. Group by - Group by는 특정 속성을 그룹화 하여 출력하는 함수입니다. - 특정 조건을 정한다면 having 조건을 쓸 수 있다. - 이때 조심해야 하는것은 group by를 시키면 동일한 그룹인 데이터들은 찌그러지면서 출력이 되는데 그래서 select문에 group by 함수를 적용해야 출력이 된다. 2. Group by 함수 : sum , max , min , avg , count .. 1) sum(속성) : 속성을 전부 더한다( 정수속성이어야 한다) 2) max(속성) : 속성 중 최댓값을 출력 3) min(속성) : 속성 중 최솟값을 출력 4) avg(속성) : 속성들의 평균값을 출력 5) count(속성) : 속성들의 갯수를 출력 3. 예제 - student 테이블에서 grad..
1. decode() - decode 연산은 프로그래밍 문법중 If문과 비슷한 문법입니다. SELECT decode(a,b,c,d) --a가 b이면 c를 출력 , b가아니면 d를 출력 FROM 테이블명; - 예제 SELECT ename, decode(comm,null,0,comm) --comm 이 null 이면 0 그게아니면 comm FROM emp; SELECT ename, sal + decode(comm,null,0,comm) as "월급" --열끼리 연산 FROM emp; - 결과 2. CASE - CASE는 decode와 비슷하지만 decode의 단점을 보완한 함수입니다. - decode는 if-else라면 CASE는 다중 IF문이라고 생각하면 됩니다. SELECT CASE WHEN '조건1' T..
1) 서브쿼리 서브쿼리(Sub Query)란 WHERE절에 쿼리문을 넣는 것을 말한다. select * from dept where deptno in ( select distinct(deptno) from emp where sal>2900); 1) emp테이블에서 sal속성이 2900을 초과하는 컬럼중 deptno속성만 중복없이(distinct) 출력한 결과를 where절에 넣고 2) deptno속성안에 있는 컬럼은 다시 출력하는 원리이다. 2) 인라인뷰 WHERE절에 별칭을 사용하고 싶을때 한다. 왜냐하면 WHERE절이 SELECT절보다 빨리 실행하기 때문에 SELECT절에 속성에 별칭을 정해도 WHERE절에서 인식을 못한다. 이때 인라인 뷰를 쓴다. SELECT * FROM (SELECT empno ..
JOIN 은 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것이다. 1) ANSI SQL ANSI(American National Standards Institute)라는 미국표준협회에서 서로 다른 DBMS(Oracle sql, mysql 등등)에서 공통으로 사용사용하게 만든 SQL입니다. - 아래 두개의 쿼리문은 같은 값을 출력합니다. 하지만 ANSI SQL처럼 공부해두면 나중에 어떤 DBMS를 쓰든 금방 적응할 수 있습니다. --Oracle SQL-- SELECT e.empno, e.ename, e.job, d.dname, d.deptno FROM emp e INNER JOIN dept d ON e.deptno=d.deptno; --ANSI SQL-- SELECT e.empno..
DELETE문은 테이블 내의 데이터를 삭제하는 명령문이다(DROP은 테이블 자체를 지우는 명령어) UPDATE는 테이블 내 데이터를 수정할 때 쓰이는 명령어이다. 1) DELETE문 - 기본형식 DELETE FROM 테이블명;
INSERT문은 새로운 데이터 삽일을 하는 명령문 입니다. 1) 기본형식 INSERT INTO 테이블명(속성1, 속성2,....) VALUES(속성1값, 속성2값,....); - 아래처럼 작성 후 확인해보자 INSERT INTO users(id, username, password, email, createdAt) VALUES(users_seq.nextval, 'testName','1234','testName@nate.com',sysdate); - 모든 속성값을 작성한다면 테이블명 옆에 속성명을 적을 필요가 없다. - 아까 테스트했던 2개의 데이터가 잘 입력된 것을 확인할 수 있다. - 하지만 SQL Developer 로 INSERT를 해도 메모리에 저장된 것이지 실제 하드디스크에는 적용되지 않는다. 그래..
1) SELECT 절 - 가장 기본적인 형태 테이블에 속한 속석명들을 적을 수 있다. SELECT 속성명 FROM 테이블명; - 모든 속성명을 가져오고 싶으면 * 를 사용 SELECT * FROM 테이블명; 2) WHERE 절 - WHERE은 FROM 절 밑에 적고 특정 조건을 걸서 값을 가져올 때 쓴다. SELECT 속성 FROM 테이블명 WHERE 조건; - AND,OR 연산자 : 여러 조건을 결합하여 쓸때 사용하는 연산자 SELECT * FROM emp WHERE sal=1500 AND comm=0; SELECT * FROM emp WHERE sal=1500 OR comm=0; - LIKE 연산자 : 특정 문자열을 찾을 때 쓰는 키워드 -- SQL에서 문자열을 '' 로 묶어준다. -- _(언더스코어..
1) 기본키(Primary key) 개체(Entity)를 식별할 수 있는 유일한 값입니다. 절대로 NULL이 들어올 수 없습니다 2) 외래키(Foreign key) 연관되는 테이블을 참조하는 키입니다. 하지만 다른 테이블과 연관이 되기 때문에 제약조건을 잘 걸어야 나중에 수정이나 삭제를 하게 될때 골치아픈 일이 생기지 않습니다 3) 유일키(Unique key) 테이블 내의 항상 유일한 값이다, 기본키와 다른점은 NULL을 가질 수 있다. 4) 테이블 생성문 -- 기본적인 구조 -- --생략 가능한거면 []대괄호로 묶었다 -- CREATE TABLE 테이블명 ( 속성명 속성TYPE 속석명2 속성2TYPE ..... CONSTRAINT [PK명] PRIMARY KEY(PK지정할 속성명), --PK(기본키)는..