전체 글 176

수업 35일차 TIL

오늘 공부한 내용 📋 *수업 오라클 함수 -group by/having -join ** *개인 1. 자바 기초 -static 2. 오라클 함수 -join 3. JSP 게시판 - 초기 세팅 어려웠던 내용 🤢 오라클 JOIN 함수 개념이 완전히 정착 되지 않아 예제를 많이 풀어 볼 필요 있음. JSP 게시판 세팅 중에 jsp 파일 실행 시 tomcat이 보이지 않아서 실행이 안되는 문제 있음. (스택오버플로우에 질문 올려 놓음) 기타 😌 수업 끝나고 바로 도서관 가려고 하는 건 좋은데 갔다오고 나서 집에서 집중 못하고 허송 세월 보내는 습관 고쳐야 됨. 할 거 다 하고 최소 2시에는 잠들려고 하자. 수면 패턴 흐트러지면 진짜 안 된다.

Diary/TIL 2022.06.23

static 변수, static 메서드

static을 사용하면 변수나 메서드를 객체화 없이 사용할 수 있다. 따라서 여러 프로그램에서 공통으로 사용하는 경우에 static을 사용한다. public class NonStaticTest { int a=10; public void call() { System.out.println("call method"); } public static void main(String[] args) { // static 없으면 인스턴스화 해야 함 NonStaticTest nst = new NonStaticTest(); System.out.println(nst.a); // 10 nst.call(); // call method } } public class StaticTest { static int a=10; public..

Java 2022.06.22

수업 35일차 - 일반 함수, group by/having, join

-- COUNT select count(*), count(mgr), count(comm) from emp; select count(*) from emp where empno=7788; -- 아이디 있는지 확인 -- max, min select min(sal) "급여 최소", max(sal) "급여 최대" from emp; -- 게시판, 공지사항 -> 번호 자동 증가 select max(empno)+1 from emp; --AVG, SUM select sum(sal), round(avg(sal), 2) from emp; -- RANK(중복 후 건너 뜀) select empno, ename, sal, rank() over(order by sal desc) "rank" from emp; -- RANK (중복 ..

DB/Oracle 2022.06.22

수업 34일차 TIL

오늘 공부한 내용 📋 *수업 오라클 함수 -문자 -숫자 -날짜 *개인 자바 기초 -void return -생성자 기타 😌 수업 끝나고 1시간 내에 할 일 할 수 있게 해야겠다. 시간 의식 없이 뭘 하려 하니까 시간에 비해 한 게 많이 없음. 개인 시간 줄이고 항상 시간 의식 하자. 나름 고민 끝에 필기 취소 했다. 그 시간에 JSP 게시판을 더 짜보는 게 나을 거 같아서. 하루에 자바 기초 + 게시판 두 가지 집중해서 하는 걸로 하고 기록 잘 하자.

Diary/TIL 2022.06.22

수업 34일차 - 문자 함수, 숫자 함수, 날짜 함수

문자 함수 -- 문자 함수(length, lengthb) select length('ABC'), length('김') from DUAL; -- 컬럼명 없을 때 사용, 연습용(계산 출력,함수 확인) select length('ABC'), lengthb('김') --한글은 1개당 3바이트 from DUAL; -- UPPER, LOWER, INITCAP select upper('abc'), lower('ABC'), initcap('ABC') from DUAL; -- UPPER select ename, job from emp where ename=UPPER('king'); -- UPPER, LOWER, INITCAP select ename, upper(ename) "대문자", lower(ename) "소문자",..

DB/Oracle 2022.06.21

INNER JOIN, OUTER JOIN(LEFT, RIGHT, FULL)

여러 테이블을 합칠 때 사용한다. INNER JOIN은 값이 같은 컬럼만 합치고 OUTER JOIN은 LEFT, RIGHT 기준으로 한 쪽에 맞춰서 합친다. CREATE TABLE TB1 ( NAME VARCHAR2(20), AGE NUMBER(3) ); CREATE TABLE TB2 ( NAME VARCHAR2(20), AGE NUMBER(3) ); INSERT INTO TB1(NAME, AGE) VALUES('김철수', 30); INSERT INTO TB1(NAME, AGE) VALUES('이영희', 31); INSERT INTO TB1(NAME, AGE) VALUES('박영수', 32); INSERT INTO TB1(NAME, AGE) VALUES('엄영수', 33); INSERT INTO TB2(..

DB/Oracle 2022.06.18

서브쿼리

오라클에서 서브 쿼리는 쿼리 안에 쿼리를 넣는 것이고 SELECT, FROM, WHERE 중 어느 위치에 넣냐에 따라 스칼라 서브쿼리, 인라인 뷰, 중첩 서브쿼리로 갈린다. -- 스칼라 서브쿼리 SELECT '김' AS NAME, (SELECT AGE FROM TB1 WHERE NAME='김') AS AGE FROM DUAL -- 인라인 뷰 SELECT AGE FROM(SELECT AGE FROM TB1 WHERE NAME = '김') -- 중첩 서브쿼리 SELECT NAME, AGE FROM TB1 WHERE NAME = (SELECT NAME FROM TB1 WHERE NAME = '김')

DB/Oracle 2022.06.18

ALIAS

Oracle에서 ALIAS는 컬럼이나 테이블에 별칭을 줄 때 사용하게 되는데 컬럼명이 너무 길어 사용하기 불편하거나 함수 등을 사용해 가져와서 컬럼명이 아예 없을 경우 별칭을 줘서 사용하게 된다. -- 사용 방법 컬럼명 AS ALIAS명 컬럼명 ALIAS명 테이블명 ALIAS명을 사용하면 테이블명.컬럼명 대신 ALIAS명.컬럼명으로 사용이 가능해진다. SELECT NAME AS N, AGE AS A, '123' AS NUM FROM TB1 SELECT A.NAME FROM TB1 A, TB2 B WHERE A.NAME = B.NAME

DB/Oracle 2022.06.18

INSERT, UPDATE, DELETE, SELECT

1. INSERT 테이블에 행을 추가한다. INSERT INTO 테이블명(컬럼명) VALUES('값'); INSERT INTO 테이블명 VALUES('값', '값' ...) -- 테이블에 정의한 컬럼 순서대로 모두 넣어줘야 함 EX) INSERT INTO TB(COL1) VALUES('ABC'); -- TB 테이블의 COL1 컬럼에 'ABC'를 넣어 행 추가 2. UPDATE 추가한 행의 내용을 수정한다. WHERE 절을 안 넣으면 테이블 전체의 내용이 바뀌므로 주의한다. UPDATE 테이블명 SET 컬럼명 = '바꿀 값' WHERE 컬럼명 = '값' -- WHERE은 조건에 해당 EX) UPDATE TB SET COL1 = 'AA' WHERE COL1 = 'BB' -- TB 테이블에서 COL1 컬럼의 ..

DB/Oracle 2022.06.18

테이블 생성 (데이터타입, 제약조건)

오라클에서 CREATE TABLE로 테이블을 생성할 수 있는데 테이블이 있어야 후에 SELECT, INSERT, UPDATE, DELETE가 가능해지기에 일단 테이블을 만들어야 한다. 테이블은 아래와 같이 입력해서 만들 수 있는데 CREATE TABLE 테이블명 ( 컬럼명 데이터타입 제약조건, 컬럼명2 데이터타입 제약조건 ); 여기서 눈 여겨봐야 할 것은 데이터타입과 제약조건이다. 데이터 타입 CHAR(N) - 고정 길이 문자열, N 이하로 값이 들어오면 나머지 칸은 공백으로 채워진다. VARCHAR2(N) - 가변 길이 문자열(N 이하로 값이 들어오면 크기에 맞춰 채워짐 NUMBER(N) - N 자리 수만큼 숫자 입력 가능 DATE - 날짜 입력 시 사용 제약 조건 CREATE TABLE FOREIGN..

DB/Oracle 2022.06.18