일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Excel
- CSS
- Java
- 형변환
- Eclipse
- docker
- eclipse 설정
- db
- 에러
- 자바
- 이클립스 설정
- 엑셀
- JSP
- 자바 리스트
- spring form
- spring 오류
- 데이터베이스
- jQuery
- HTML
- 한글 깨짐
- JavaScript
- 엘라스틱서치
- script
- elasticsearch
- tomcat
- 이클립스
- java 오류
- 도커
- 자바스크립트
- 쿼리
- Today
- Total
목록자격증/SQLD (14)
개발노트
스칼라 서브쿼리: 한 개의 행과 한 개의 열을 반환하여 단일 값처럼 사용할 수 있는 쿼리단일 값 반환: 서브쿼리는 오직 하나의 행과 열을 반환해야 하며, 그렇지 않으면 에러가 발생합니다.어디서나 사용 가능: 스칼라 서브쿼리는 SELECT, WHERE, HAVING 등 여러 위치에서 사용될 수 있습니다.연산 가능: 외부 쿼리의 필드와 결합해 계산식이나 조건문을 구성할 수 있습니다.SELECT A.ENAME, A.SAL, A.DEPTNO, (SELECT ROUND(AVG(X.SAL), 2) FROM EMP X WHERE X.DEPTNO = A.DEPTNO) AS DVG_SALFROM EMP A; ▶ 서브쿼리에 DEPTNO의 값이 각각 들어가고 서브..
ALL : 메인 쿼리 조건이 서브쿼리의 모든 값에 대해 참이 되어야 조건이 만족됩니다.SELECT ENAME, JOB, SALFROM EMPWHERE SAL > ALL(SELECT SAL FROM EMP WHERE JOB='SALESMAN');> 서브쿼리 결과 - ALL보다 커야 하기 때문에 서브쿼리 결과 중 제일 큰값이 기준이됨 아래의 MAX로 대체 가능하다SELECT ENAME, JOB, SALFROM EMPWHERE SAL > (SELECT MAX(SAL) FROM EMP WHERE JOB='SALESMAN'); ANY: 메인 쿼리 조건이 서브쿼리의 하나 이상의 값에 대해 참이 되면 조건이 만족됩니다. SELECT ENAME, JOB, SALFROM EMPWHERE SAL > ANY(SELECT S..
1. 단일행 서브쿼리 : 결과가 1줄인 경우 SELECT ENAME, JOB, SALFROM EMPWHERE SAL > 서브쿼리 결과 1-1. 단일행 서브쿼리에서 사용할 수 있는 연산자들 =, >, >=, 2. 다중행 서브쿼리 : 결과가 여러 줄인 경우 SELECT ENAME, JOB, DEPTNOFROM EMPWHERE DEPTNO IN (SELECT DEPTNO FROM EMP WHERE JOB='CLERK');> 서브쿼리 결과 2-1. 다중행 서브쿼리에서 사용할 수 있는 연산자들IN, ALL, ANY(=SOME), EXISTS
2개의 테이블이 존재 CREATE VIEW V_EMPLOYEES AS ( SELECT 1 AS EMP_ID, 'ALICE' AS NAME, 100 AS SALARY FROM DUAL UNION ALL SELECT 2 AS EMP_ID, 'BOB' AS NAME, 200 AS SALARY FROM DUAL UNION ALL SELECT 3 AS EMP_ID, 'CHARLIE' AS NAME, 300 AS SALARY FROM DUAL);CREATE VIEW V_PROJECT AS ( SELECT 1 AS PROJ_ID, 'PROJECT A' AS PRJO_NAME, 1 AS EMP_ID FROM DUAL UNION ALL SELECT 2 AS PROJ_ID, 'PROJECT B'..
INNER JOIN 한 결과 ( USING 이나 NATURAL JOIN을 사용하지 않은 이너 조인의 결과)양쪽 테이블에 있는 DEPTNO가 출력SELECT *FROM EMP AINNER JOIN DEPT BON A.DEPTNO = B.DEPTNO; USING / NATURAL JOIN 한 결과DEPTNO가 1개만 출력JOIN 기준인 컬럼이 맨 앞에 출력SELECT *FROM EMP AJOIN DEPT BUSING (DEPTNO);SELECT *FROM EMP ANATURAL JOIN DEPT B;
사용조건EQUAL JOIN양쪽에 같은 이름을 가진 컬럼이 있어야함 조건절 사용 안함 (NATURAL JOIN은 USING과 달리 같은 이름을 가진 컬럼들을 자동으로 다 조인조건에 넣음)SELECT EMPNO, A.ENAME, B.DNAMEFROM EMP ANATURAL JOIN DEPT B;
USING 사용 방법 ON 대신에 USING으로 변경하고, USING (두 테이블에 같은 이름을 가진 컬렴명) USING이 사용될 수 있는 조건EQUAL JOIN 일때 양쪽에 같은 이름을 가진 컬럼이 있어야함SELECT EMPNO, A.ENAME, B.DNAMEFROM EMP AJOIN DEPT BUSING (DEPTNO);