목록프로그래밍 (408)
쌓고 쌓다
OUTER JOIN EQUI JOIN의 경우 한쪽 칼럼중 하나라도 NULL이 있으면 조인 결과로 출력이 안된다. 그래서 한쪽 칼럼이 NULL이 있어도 출력할 필요가 있을 때 OUTER JOIN을 사용한다. OUTER JOIN with (+) 기호 WHERE 절에서 OUTER JOIN의 연산자인 (+) 기호를 사용한다. 조인 조건문에서 NULL 이 존재하는 테이블의 칼럼에 (+) 기호를 사용한다. SELECT table1.column, table2.column FROM table1, table2 WHERE table1.column(+) = table.column 또는 table1.column = table2.colum(+) 제약 사항 OUTER JOIN에서 IN 연산자는 사용 불가 다른 조건과 OR 연산자..
1번 학과별로 평균 몸무게와 학생 수를 출력(평균 몸무게를 내림차순으로 정렬) 2번 학생 수가 최대인 학년과 최소인 학년의 학생 수를 출력 3번 학과내에서 같은 학년에 재학중인 학생 수가 3명 이상인 학과 번호, 학년, 학생 수, 최대 키, 최대 몸무게 출력 4번 학과와 학년별 키 평균, 학과별 키 평균, 전체 학생에 대한 키 평균을 출력 ***5번*** 학과별 평균 몸무게와 학년별 평균 몸무게를 출력 6번 학과별 교수 수가 2명 이하인 학과 번호, 교수 수 출력 *7번 교수중에서 급여와 보직수당을 합친 금액이 가장 많은 경우와 가장 적은 경우 그리고 평균 금액을 출력 단, 보직수당이 NULL이면 0으로 계산, 급여는 소수점 둘째 자리에서 반올림 8번 학과와 직급별 급여 평균, 학과별 급여 평균, 직급별..
1번 - 아이디 길이 7 이상인 학생의 이름, 아이디 출력 2번 - 학생의 이름, 아이디(소문자로), 생년월일('2000-01-01') 출력 3번 - 학생의 이름, 지도 교수 번호(없다면 0000으로) 출력 4번 - 학생의 비만도가 10보다 작으면 '정상', 10보다 크고 20보다 작으면 '과체중', 20보다 크면 '비만' 출력 => 비만도 = (실제체중-표준체중)*100, 표준체중 = (키 - 100)*0.9 5번 - 학번을 3으로 나눈 나머지가 0이면 'A팀', 1은 'B팀', 2는 'C팀'으로 분류하여 학생 번호, 이름, 학과 번호, 팀이름 출력 6번 - 학생 번호의 지역번호가 02이면 '서울', 051이면 '부산', 052이면 '울산', 053이면 '대구', 나머지는 '기타'로 이름, 전번, 지역..
1번 SELECT name, grade, height FROM student WHERE height > 170 ORDER BY height DESC; 2번 SELECT name, userid, grade FROM student WHERE deptno=101 ANd grade>='3'; 3번 -- 비교 연산자 SELECT name, grade, height FROM student WHERE height >= 165 AND height = 300 AND comm IS NOT NULL OR sal >= 450; 10번 SELECT profno "NO", name FROM professor WHERE deptno=201 UNION SELECT studno, name FROM student WHERE deptno..
2번 SELECT * FROM tab; 3번 - 학생 테이블의 구조 확인 4번 SELECT * FROM student; 5번 SELECT studno, name, userid FROM student; 6번 - 학과 번호를 중복되는 행을 제외하고 출력 SELECT DISTINCT deptno FROM student; 7번 SELECT name "이름", birthdate "생년월일", height "키(cm)", weight "몸무게(kg)" FROM student; 8번 SELECT name || '학생의 키는' || height || '(cm)이고, 몸무게는 ' || weight || '(kg)이다.' FROM student; 9번 - 표준체중( 키-몸무게*0.9 ) SELECT name, height..
EQUI JOIN SELECT table1.column, table2.column FROM table1, table2 WHERE table1.column1=table2.column2; 공통 칼럼 있을 때 그 값을 비교하여 같은 값을 가지는 행을 연결하여 결과를 생성한다. join attribute(속성) : 연결 고리가 되는 공통 칼럼 EX) 학생 테이블과 부서 테이블을 EQUI JOIN하여 학번, 이름, 학과번호, 소속학과이름, 학과 위치를 출력 SELECT s.studno, s.name, s.deptno, d.dname, d.loc FROM student s, department d WHERE s.deptno=d.deptno; EQUI JOIN - NATURAL JOIN WHERE절을 사용하지 않고 ..
조인(JOIN) 하나의 SQL 명령문으로 여러 테이블에 저장된 데이터를 이용하여 조회할 수 있다. 종류: EX) 학번이 10101인 학생의 이름과 소속 학과 이름을 출력 SELECT name, student.deptno, dname FROM student, department WHERE student.deptno=department.deptno; student 테이블에 학번(studno), 학생의 이름(name), 학과 번호(deptno)가 있고 department에 학과 번호(deptno), 학과 이름(dname)이 있다. 여기서 student 테이블의 학과 번호와 department의 학과 번호를 매치시켜 일치하는 department 테이블의 행을 가져와 사용한다. 여기서 student의 deptno..
익명 함수 function() { } 함수를 출력했을 때 별다른 이름이 붙어있지 않다. 예제 코드 const 함수 = function() { console.log('코드1') console.log('코드2') console.log('코드3') } 함수() console.log(typeof 함수) console.log(함수) 함수의 자료형은 function이고 함수를 출력하면 함수의 구현 부분이 나온다. 함수의 구현 부분에서 함수의 이름이 붙어있지 않다. 그래서 익명 함수라고 표현한다. 선언적 함수 function 함수이름() { ... } 이름이 있는 함수를 선언적 함수라고 한다. 예제 코드 function 함수() { console.log('코드1') console.log('코드2') console.l..