전체 글 157

2022-11-07 서브쿼리, 뷰, 데이터 조작어, 데이터 정의어, 제약 조건

서브쿼리 종류 3. 다중컬럼 서브쿼리 - 두 개 이상의 컬럼을 리턴하는 서브쿼리 - select절에 비교할 데이터를 여러 개 지정하는 반식 - 메인쿼리에 비교할 열을 괄호로 묶어 명시하고 서브쿼리에서는 괄호로 묶은 데이터와 같은 자료형 데이터를 select절에 명시 where (컬럼1, 컬럼2...) in (서브쿼리의 실행결과 값1, 값2...) select empno, deptno, sal from emp where (deptno, sal) in (select deptno, min(sal) from emp group by deptno); 4. 상호연관 서브쿼리 (효율 안 좋음) -서브쿼리를 실행할 때 메인쿼리 테이블의 컬럼을 참조해서 작업해야 하는 서브쿼리 - 서브쿼리의 비교 값이 계속 바뀌는 경우 메..

Oracle 2022.11.08

Do it! 오라클로 배우는 데이터베이스 입문 p.240 4번 문제 리뷰

자체 조인, 외부 조인을 알아야 풀 수 있는 문제 SQL> SELECT D.DEPTNO, D.DNAME, E.EMPNO, E.ENAME, E.MGR, E.SAL, E.DEPTNO, 2 S.LOSAL, S.HISAL, S.GRADE, E2.EMPNO AS MGR_EMPNO, E2.ENAME AS MGR_ENAME 3 FROM EMP E, DEPT D, SALGRADE S, EMP E2 4 WHERE E.DEPTNO(+) = D.DEPTNO 5 AND E.SAL BETWEEN S.LOSAL(+) AND S.HISAL(+) 6 AND E.MGR = E2.EMPNO(+) 7 ORDER BY D.DEPTNO, E.EMPNO; DEPTNO DNAME EMPNO ENAME MGR SAL DEPTNO LOSAL HIS..

Oracle 2022.11.05

2022-11-04 조인, 서브쿼리

Join - 관계형 데이터베이스에서 원하는 결과를 여러 테이블로부터 가져오고 싶은 경우 즉, 여러 테이블을 이용해서 원하는 결과를 만들어내는 것을 조인이라 한다. - 조인은 어떤 테이블을 기준으로 다른 테이블에 있는 레코드의 값을 참조하는 것을 조인이라 한다. - 기본키 테이블과 외래키 테이블 관계를 이용해서 조인해야 한다. ------------------ ----------------- ㄴ어떤 정보를 ㄴ기본키테이블에 정리된 중복없이 정리 컬럼의 값을 참조해서 해둔 테이블 사용하는 테이블 조인방법 - 반드시 연관성있는 테이블끼리 조인해야 한다. - 조인조건을 정의해야 한다. - where 기본키테이블명.컬럼명 = 외래키테이블명. 컬럼명 (테이블 이름. 열이름) => where emp.DEPTNO = d..

Oracle 2022.11.04

2022-11-03 오라클(Oracle) 단일행함수, 다중행함수

Oracle - 내장함수의 종류 1. 단일행 함수 : 데이터가 한 행씩 입력되고 입력된한 행당 결과가 하나씩 나오는 함수 2. 다중행 함수 : 여러 행이 입력되어 하나의 행으로 결과가 반환되는 함수 단일행함수 [ 문자 함수 ] - select upper(문자열) : 모두 대문자로 변환 - select lower(문자열) : 모두 소문자로 변환 - select inicap(문자열) :첫 글자는 대문자, 나머지는 소문자로 변환 - where length(문자열) - select substr(문자열 데이터, 시작 위치, 추출 길이) : 시작 위치부터 길이만큼 - select substr(문자열 데이터, 시작 위치) : 시작위치부터 끝까지 ** 오라클의 인덱스 번호는 1번부터이다. ** 기본값 - 1 - sel..

Oracle 2022.11.03

2022-11-02 오라클(Oracle) SELECT문, WHERE절

Oracle SELECT : 데이터베이스에 보관되어 있는 데이터를 조회하는 데 사용한다. SELECT [조회할 열 1 이름], [열2 이름], .... [열N이름] from [조회할 테이블 이름]; - 원하는 것만 조회 => 콤마(,)로 구분하기 + 세미콜론(;) 붙이지 않음 1)한 칸 띄우고 별칭 지정 select sal*12 연봉 2) 큰따옴표(" ")로 묶어 지정 select sal*12 "연 봉" 내림차순정렬 - order by SAL asc, ENAME desc -> 오름차순, 내림차순 동시에 사용하기 ** order by는 맨 아래에 쓰기 WHERE - where절 : 특정 조건을 기준으로 원하는 행을 출력한다. - 조건 식의 개수 : select * from emp where 조건식1 and..

Oracle 2022.11.03

2022-11-01 오라클(Oracle) 계정생성, 권한 부여하기, 비밀번호 변경하기

Oracle * 접속명령어 : conn * 사이즈 조절 명령어 : set linesize nnn; * XE, Listener 파일은 필수적으로 실행 중이어야 함(시작 - 윈도우 관리도구 - 서비스) => (listener.ora, transnames.ora 파일 내용 변경하면 재시작해주기 ) * commit; => 저장하기(인서트 딜리트 했던 데이터는 저장되지 않음) 1. 계정 생성하기 - ID : scott - PW : tiger - 계정을 생성하거나 권한을 부여하는 모든 작업은 관리자 계정에서 작업 - 로그인하다 오류나면 어느 계정에도 들어와있지 않은 것임 => 관리자 계정 접속하기 SQL> create user scott identified by tiger 2. 접속하기 - 접속권한을 부여하지 않고..

Oracle 2022.11.01

2022-10-28 정렬 알고리즘 - 버블 정렬, 단순 삽입 정렬, API, greedy 알고리즘

- 정렬 알고리즘 for( 1번 for문 ) { for( 2번 for문 ) { } } * 1번 for문 : 탐색배열. 배열[]의 길이만큼 * 2번 for문 : 비교할 대상 [버블 정렬] : 이웃한 두 요소의 대소관계를 비교하고 필요에 따라 교환을 반복하는 알고리즘 package sort; public class BubbleSortTest { public static void main(String[] args) { int[] arr = {42, 32, 24, 60, 40}; for (int i = 0; i < arr.length-1; i++) { for (int j = 0; j < arr.length-1-i; j++) { //하나씩 빠져야 하기 때문에 -i System.out.println("i-"+i+"..

JAVA 2022.10.29

2022-10-27 컬렉션 프레임웍 - ArrayList, HashSet, HashMap

컬렉션 프레임웍 : 데이터 군을 저장하는 클래스들을 표준화한 설계 HashSet - Set인터페이스를 구련한 가장 대표적인 컬렉션 - Set인터페이스의 특징대로 HashSet은 중복된 요소를 저장하지 않는다(객체를 저장하기 전에 기존에 같은 객체가 있는지 확인함). - 새로운 요소 추가 => add, addAll 메소드 사용 => 중복된 요소 추가 시 false반환 package datastructure; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; public class HashSetTest { public static void main(String[] args) { ArrayList list = new..

JAVA 2022.10.29