본문 바로가기
728x90

SQL5

[ERwin] 테이블 생성 스크립트(DDL) 추출 방법 순서 DB 설계 중.. 설계한 ERD를 DDL문으로 만들어 테이블을 생성하려고 한다 환경: ERwin7,mysql(mariaDB) 1. Physical(물리)를 선택하고 Tools -> Forward Engineer -> Schema Generation 2. Forward Engineer Schema Generation 창이 나오면 Schema의 post-Scipt와 Create Procedure를 체크하고 Preview를 클릭한다 3. Create 문이 생성된 걸 확인 할 수 있다 .sql 파일로 저장해도 되고, 복사해서 사용할 수도 있다 2022. 12. 18.
[Oracle] 다중 INSERT - 여러 행 한번에 넣기 Oracle - 다중 INSERT 하는 방법이다 보통 INSERT를 할 때 쓰는 쿼리문은 이런 형태이다 INSERT INTO 테이블 명 VALUES ('값1', '값2', '값3') 만약 특정 컬럼에만 INSERT를 하고싶다면 INSERT INTO 테이블 명 (컬럼1, 컬럼2, 컬럼3) VALUES ('값1', '값2', '값3') 이제 다중 테이블이나 특정 테이블에 두번 INSERT하면 INSERT ALL INTO 테이블 명 (컬럼1, 컬럼2, 컬럼3) VALUES ('값1', '값2', '값3') INTO 테이블 명 (컬럼1, 컬럼2) VALUES ('값1', '값2') SELECT * FROM DUAL 이렇게 사용하면 된다 2022. 1. 15.
[ORACLE] NULL 값 치환 NVL, NVL2 함수 - 그룹핑 예제 포함! 오라클에서 쿼리문 작성 중 SUM이나 AVG 등으로 그룹핑을 하는데, 데이터가 NULL값이면 데이터가 뽑히지 않는다! 근데 나는 0 이나 '' 라도 뽑고싶다! 그럴 때 NVL, NVL2 함수를 사용하면 된다. 사용법은 간단! NVL(컬럼, NULL일때 반환 값) 이렇게 감싸주면 된다. - 예제 - NVL(컬럼,0) -- 컬럼의 값이 NULL일경우 0으로 치환 NVL(컬럼,'') -- 컬럼의 값이 NULL일경우 ''으로 치환 NVL(컬럼,SYSDATE) --컬럼의 값이 NULL일경우 현재날짜로 치환 그리고 SUM 이나 AVG 등으로 그룹핑을 할 때는 NVL(SUM(컬럼), 0) -- SUM한 컬럼의 값이 NULL일경우 0으로 치환 NVL(SUM(컬럼), ’’) -- SUM한 컬럼의 값이 NULL일경우 ''.. 2022. 1. 9.
[SQL] SELECT문, 서로 다른 조건, 한 줄로 출력! - Key값 없이 Join 사용하기 리포트 개발 소프트웨어를 사용하던 중 데이터를 한 줄로 뽑아 넘기면 데이터를 사용하기 편한 상황이 있었다. (물론 여러 개의 쿼리문으로 뽑아 컨트롤러나 서비스단에서 VO에 담아 줄 수도 있었다.. 주절주절 TMI..) 아무튼 그때 쓴 쿼리다! 가정 1 A테이블(a1, a2, a3, a4 ~~) B테이블(b1, b2, b3, b4 ~~) * 서로 겹치는 데이터 없음 * SLELECT * FROM ( SELECT 1 AS FLAG ,A.A1 ,A.A2 ,A.A3 ,A.A4 FROM A테이블 A WHERE 조건 )AA INNER JOIN ( SELECT 1 AS FLAG ,B.B1 ,B.B2 ,B.B3 FROM B테이블 B WHERE 조건 )BB ON AA.FLAG=BB.FLAG; INNER JOIN을 FRO.. 2022. 1. 8.
[SQL] 조인 - join이란? INNER, OUTER, CROSS, SELF 조인이란? "두 테이블로부터 특정 조건을 만족하는 레코드들을 하나의 레코드로 결합하는 연산" 조인은 두개 이상의 테이블이나 데이터 베이스를 연결하여 데이터를 검색하는 방법입니다! 검색하고 싶은 컬럼이 다른 테이블에 있을 경우 주로 사용하고 테이블을 연결하려면 최소 하나의 컬럼은 서로 공유 되고 있어야 합니다. 보통 Primary Key 혹은 Foreign Key로 연결. INNER JOIN INNER JOIN은 기준 테이블과 JOIN한 테이블의 중복 값을 보여줍니다. LEFT OUTER JOIN 기준 테이블의 모든 값 + JOIN한 테이블과 중복된 값을 보여줍니다. 조건을 넣어주면 중복된 값을 제거해줄 수 있습니다. RIGHT OUTER JOIN JOIN한 테이블의 모든 값 + 기준 테이블과 JOIN한 .. 2021. 8. 31.
728x90