SW공부 50일차

Guryena·2023년 3월 22일
0

SQL

목록 보기
1/3

1. 카테이션 곱에 대하여 설명하시오.

union(교집합)/ interction(합집합)

  • From절에 2개 이상의 Table이 있을때 두 Table 사이에 유효 join 조건을 적지 않았을때 해당 테이블에 대한 모든 데이터를 전부 결합하여 Table에 존재하는 행 갯수를 곱한 만큼의 결과값이 반환되는 것이다.

2. JOIN 에 대하여 설명하시오.

두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법으로, 두 개의 테이블을 마치 하나의 테이블인 것처럼 보여준다.

1) 일반
SELECT 테이블.컬럼, 테이블.컬럼
FROM 테이블1,테이블2           
WHERE 조건

조인의 종류

  • Inner Join
1)
SELECT 조회할 컬럼
FROM 테이블1, 테이블2
[WHERE 조건문]

2)
SELECT 조회할 컬럼
FROM 테이블1
(INNER) JOIN 테이블2
ON 테이블1.컬럼 = 테이블2.컬럼
[WHERE 추가조건]
  • Natural Join
SELECT 조회할 컬럼
FROM 테이블1
NATURAL JOIN 테이블2
[WHERE 조건문]
  • Full Outer Join
SELECT 조회할 컬럼
FROM 테이블1 
FULL OUTER JOIN 테이블2
ON 조건문
[WHERE 추가조건문]
  • Left Outer Join
SELECT 조회할 컬럼
FROM 기준테이블1 
LEFT OUTER JOIN 테이블2
ON 조건문
[WHERE 추가조건문]
  • Right Join
SELECT 조회할 컬럼
FROM 테이블1 
RIGHT OUTER JOIN 기준테이블2
ON 조건문
[WHERE 추가조건문]
  • Cross Join
1)
SELECT 조회할컬럼
FROM 테이블1, 테이블2

2)
SELECT 조회할컬럼
FROM 테이블1
JOIN 테이블2

3)
SELECT 조회할컬럼
FROM 테이블1
CROSS JOIN 테이블2

3. 프로젝트에 시간을 넣으시오.

let today = new Date();   

let year = today.getFullYear(); // 년도
let month = today.getMonth() + 1;  // 월
let date = today.getDate();  // 날짜
let day = today.getDay();  // 요일

document.write(year + '/' + month + '/' + date)
document.write('<br>')
document.write(day);

4. jquery 로 구구단을 짜시오.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>구구단</title>
</head>

<body>
    <script>
        var i = 2;
        var j = 1;
        
        // for 문
        document.write("for 을 이용한 출력", "<br>");
        for (i = 2; i < 10; i++) {
            for (j = 1; j < 10; j++) {
                document.write(i + " * " + j + " = " + (i * j) + "<br>");
            }
            document.write("<hr>");
        }
    </script>
</body></html>

5. 아래 쿼리를 완성 하시오.

  • Jones 의 사무실 위치를 출력하시오.
SELECT ENAME, LOC FROM EMP, DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO AND ENAME='JAMES';
  • 부서의 최대값과 최소값을 구하되, 최대 급여가 2900 이상인 부서만 출력하는 쿼리문
SELECT MAX(EMPNO), MIN(EMPNO)  FROM EMP WHERE SAL>=2900;
  • 부서별 평균 급여가 2000 이상인부서의 번호와 부서별 평균 급여를 출력하는 쿼리문
SELECT AVG(SAL), DEPTNO FROM EMP GROUP BY DEPTNO HAVING AVG(SAL) >= 2000
  • 부서별 부서의 번호와 부서별 평균 급여를 출력하는 쿼리문
SELECT DEPTNO, AVG(SAL) FROM EMP GROUP BY DEPTNO;

-부서별 사원의 수와 커미션을 받는 사원의 수를 계산하는 쿼리문

SELECT COUNT(EMPNO), COUNT(COMM) FROM EMP GROUP BY DEPTNO;

0개의 댓글