select count(*), count(cust_id), count(distinct cust_id), sum(sales_qty*goods_price) from cust_sales; 쿼리문의 base 필수 구조다. select 컬럼명 from 테이블명 select에는 위의 예시처럼 count()라는 함수를 사용할 수 있다. 행의 개수를 세어주는 함수다. *은 모든 행을 뜻한다. distinct는 중복된 값을 제외한다. sum()도 이름과 같이 해당 열의 모든 행 값의 합을 구한다. select cust_id, count(distinct sales_dt) as sales_count, min(str_to_date(sales_dt, "%Y%m%d")) as first_sale, max(str_to_date(s..
Programming
workbench 첫 화면이다. 현재 내 로컬에서 연결되어 있는 DB 목록이 뜬다. + 버튼을 누르면 새로운 DB를 연결할 수 있다. Hostname에는 DB 주소를 작성한다. 따로 작성하지 않으면 로컬에서만 사용할 수 있는 IP 주소가 지정되고, 새로운 DB가 생성된다. 외부 DB를 사용한다면 Port도 별도로 지정해야 한다. 이미 생성된 DB를 연결하는 것이라면 생성 시 작성한 이름을 Username에 적고, 새로운 DB를 생성하는 것이라면 원하는 이름을 작성한다. Store in Vault... 를 눌러 비밀번호를 입력하고, 새로 만든다면 비밀번호를 설정하며, 비밀번호를 저장하여 다음 접속 시 비밀번호를 작성하지 않아도 된다. Default Schema에는 DB 이름을 작성한다. DB를 처음 연결하..
1. FIFO 2. LIFO 3. RR 0. JOB 모든 스케줄링 알고리즘에서 사용되는 작업 요소다. public class Job { int id; int size; public Job(int id, int size){ this.id = id; this.size = size; } public int getId() { return id; } public int getSize() { return size; } } 1. FIFO First In First Out 먼저 들어온 것이 먼저 나간다. Queue 자료구조를 이용한다. public class FIFO { Queue queue; public FIFO(){ queue = new LinkedList(); } public void push(Job job){ ..
1. 어노테이션 정의 방법 2. @retention 3. @target 4. @documented 5. 어노테이션 프로세서 1. 어노테이션 정의 방법 어노테이션은 자바에서 기본적으로 제공하는 Built-in Annotaion과 커스텀 어노테이션을 만들 수 있게 제공되는 Meta Annotation이 존재한다. public @interface MyAnnotation { ... } 어노테이션의 필드로는 기본형, String, enum, 어노테이션, Class만 가능하다. 배열 선언도 가능하다. default 값을 지정할 수 있다. int number() default 1; () 안에 매개변수 선언은 불가능하다. 2. @Retention 어노테이션이 유지되는 기간을 지정하는데 사용된다. SOURCE : 소스파..
1. enum 정의 방법 2. enum이 제공하는 메소드 (values(), valueOf()) 3. java.lang.Enum 4. EnumSet 1. Enum 정의 방법 Enum 열거형으로, 서로 관련 있는 상수들을 모아 클래스를 정의하고 활용한다. Enum 정의 enum Fruits { apple, banana, grape } Enum 접근 Fruits.apple; Fruits.banana; 2. enum 메소드 values() Enum 클래스에 있는 모든 상수값을 배열로 반환한다. Enum 클래스 타입의 객체로 반환한다. valueOf(String name) name과 같은 이름의 상수가 있으면 그 상수 객체를 반환한다. Fruits.valueOf("apple") // Fruits.apple Fr..
1. Thread 클래스와 Runnable 인터페이스 2. 스레드의 상태 3. 스레드의 우선순위 4. Main 스레드 5. 동기화 6. 데드락 1. Thread 생성 Thread 클래스 이용 Thread 클래스는 Runnable 인터페이스를 구현한 클래스다. Thread 클래스가 다른 클래스를 확장할 필요가 없을 경우에 사용한다. public class ThreadSample extends Thread { @Override public void run() { System.out.println("ThreadSample 메소드"); } } Runnable 인터페이스 이용 Thread 클래스가 다른 클래스가 활장할 필요가 있을 때 사용한다. Runnable