데이터베이스
SELECT * FROM STUDENT;
-- tuple 셀 , row 행(가로) , col 열
-- 학생 테이블에서 학번 STUDNO, 이름 NAME, 학과번호 DEPTNO를 조회하시오
SELECT STUDNO, NAME, DEPTNO FROM STUDENT;
-- 학과 번호만 조회
SELECT DISTINCT NAME, DEPTNO FROM STUDENT ORDER BY -1;
-- DISTINCT 중복값 제거 : 카운트 할때 행 단위로 하기에
-- NAME, DEPTNO를 한 쌍으로 보고 그 쌍이 둘다 일치해야 중복으로 ㅇㅈ
-- ORDER BY 1 내림차순 -1 오름차순
SELECT
DEPTNO,
NAME
FROM
STUDENT
WHERE
DEPTNO = 201 -- 조건문 <> 같지 않다 > < 둘다 사용 가능! AND OR NOT 도 있음
ORDER BY 1; -- TUPLE 정렬 오름차순 또는 내림차순
-- 학생 테이블에서 학과별 인원수를 조회
SELECT DEPTNO, COUNT(*)
FROM STUDENT
GROUP BY DEPTNO
HAVING COUNT(*) >= 5;
-- HAVING TUPLE들의 그룹이 만족해야 하는 조건
-- 학생테이블에서 중복되는 학과 번호, 학년 제외하고 출력하라
SELECT DISTINCT DEPTNO, GRADE
FROM STUDENT
ORDER BY 1, 2 DESC;
-- 데이터베이스 문자열 리터럴 : ''
-- HELLO WORLD를 출력하시오.
SELECT 'HELLO WORLD' AS MAIN FROM DUAL;
SELECT 'HELLO WORLD' AS MAIN FROM STUDENT; -- STUDENT 행만큼 출력
-- 학생의 이름과 '안녕' 결합
SELECT NAME || 'HELLO' FROM STUDENT; -- SQL 표준문법은 아니고 ORACLE만 가능
SELECT CONCAT(NAME, ' 안녕') HI FROM STUDENT S; -- 표준문법
-- HI와 S는 별칭
-- 학번에 "학번" 이름에는 "이름"을 부여하는 별칭으로 학번, 이름을 조회
SELECT STUDNO AS "학번", NAME AS "이름" FROM STUDENT;
-- 부서 테이블에서 부서 이름 칼럼의 별명은 “Department Name”,
-- 부서 번호 칼럼의 별명은 “부서 번호#”으로 부여하여 출력하여라
SELECT DNAME "Department Name", DEPTNO "부서 번호#" FROM department;
-- 학생 테이블에서 학번과 이름 칼럼을 연결하여
-- “Student”라는 별명으로 하나의 칼럼처럼 연결하여 출력하여라
SELECT STUDNO || ' ' || NAME AS "Student" FROM STUDENT;
-- 학생의 몸무게를 pound로 홖산하고 칼럼 이름을 'weight_pound'
-- 라는 별명으로 출력하여라. 1kg은 2.2pound이다.
SELECT STUDNO, NAME, WEIGHT || ' kg' AS "WEIGHT", WEIGHT * 2.2 || ' pound' AS "weight_pound" FROM STUDENT;
SELECT DEPTNO, COUNT(*)
FROM STUDENT
WHERE WEIGHT IS NOT NULL
GROUP BY DEPTNO
HAVING COUNT(DEPTNO) >= 5
ORDER BY DEPTNO;
/*
처리 순서
SELECT 6
FROM 1
WHERE 5
GROUP BY 4
HAVING 3
ORDER BY 2
ORACLE HINT : SQL사용자가 SQL 구문에 작성하는 것을 뜻한다.
오라클이 항상 최적의 실행 경로를 만들어 내기는 불가능하기 때문에 직접 최적의 실행 경로를 작성
튜닝기법 사용할 예정 뒤에서 배움!
*/
-- 슈슈슈슉 91PAGE로 이동
CREATE TABLE EX_TYPE (
C CHAR(10),
V VARCHAR(10)
);
INSERT INTO EX_TYPE VALUES ('sql','sql');
SELECT * FROM EX_TYPE;
DROP TABLE EX_TYPE;
SELECT *
FROM EX_TYPE
WHERE C = 'sql';
SELECT *
FROM EX_TYPE
WHERE v = 'sql';
SELECT *
FROM EX_TYPE
WHERE C = 'sql '; -- 공백
SELECT *
FROM EX_TYPE
WHERE V = 'sql '; -- 결과 : 없음
SELECT *
FROM EX_TYPE
WHERE C = V; -- 결과 : 없음
SELECT *
FROM EX_TYPE
WHERE C = V || ' ';
SELECT *
FROM EX_TYPE
WHERE 'sql ' = 'sql';
SELECT 1
FROM DUAL
WHERE 1 = '1';
-- NUMBER N := 1; := : 대입연산자
SELECT STUDNO, NAME, BIRTHDATE, SYSDATE, ROUND(SYSDATE - BIRTHDATE) FROM STUDENT WHERE STUDNO = 10101;
SELECT SYSDATE - TO_DATE('00/04/17') FROM DUAL;
SELECT
TO_CHAR(SYSDATE, 'YY/MM/DD HH24:MI:SS') AS NOW,
TO_CHAR(SYSDATE + 1, 'YY/MM/DD HH24:MI:SS') AS "1 DAY AFTER",
TO_CHAR(SYSDATE + 3/24, 'YY/MM/DD HH24:MI:SS') AS "3 HOURS AFTER",
TO_CHAR(SYSDATE + 30/60/24, 'YY/MM/DD HH24:MI:SS') AS "30 MINUTE AFTER"
FROM DUAL;
SELECT TO_CHAR(TO_DATE('00/04/17'), 'YY/MM/DD HH24:MI:SS') FROM DUAL;
SELECT ROUND(SYSDATE - 1/24, 'YY') FROM DUAL;
SELECT ROWID, ROWNUM, S.* FROM STUDENT S ORDER BY STUDNO DESC;
자바스크립트
// console.log(add1(3, 5));
// console.log(add2(3, 5)); // 아직 undefined임
function add1(x, y){ // 호이스티이이잉
return x + y;
}
var add2 = function(x, y) { // 호이스팅하는데 add2 까지만 함
return x + y;
}
console.log(add1(3, 5));
console.log(add2(3, 5));
// var add = (x, y) => x + y;
var result = (function() {
return "hello world";
})();
console.log(result);
function Student(no, name) {
var n = no;
var na = name;
this.getNo = function() {
return n;
}
this.setNo = function(no) {
n = no;
}
}
var student = new Student(10, "가가가");
console.log(student.getNo())
댓글