Function

  (1) Single Row Function (단일행 함수)

     1) Numeric Function

round(), trunc(), floor(), ceil() // 소수점 정리해주는 함수

mod()

power()

sign()


     2) Datetime Function

sysdate

months_between()

add_months()

next_day()

last_day()


     3) Character Function

lower() , upper()

substr()

length()

instr()

itrim(), rtrim()

translation(), replace()

ohr(), ascii()

       /*이름이 scott인 직원이 이름 부서 급여를 조회 단 대소문자 구별없이 검색*/

select ename, deptno, sal from emp where upper(ename) = upper('scOTt');

/*901225-1234567 에서 1이라는 숫자 출력*/

select upper('abc') from dual ; /*테스트용 테이블*/

select substr('901225-1234567',8,1 ) from dual;'

select instr('MILLER', 'L') FROM DUAL;

select instr('MILLER', 'L', 1, 1) FROM DUAL; 

select instr('MILLER', 'L', 4, 1) FROM DUAL;

 

select itrim('MILLER', 'M') FROM dual;


select translate('MILLER', 'L', '*');

select replace('MILLER', 'L', '*');


select translate(sal, '123456789' , '일리삼사오육칠팔구');

select replace(sal, '123456789' , '일리삼사오육칠팔구');



     4) Conversion Function

cast()

to_char()

to_number()

to_date()


  (2) Aggregation Function (집합 함수)


  (3) Analystic Function (분석 함수)

분석 함수는 계산을 지정하는 행 그룹을 기반으로 계산하여 각 그룹에 대해 

1. Rank()

일반 필드나 그룹내에서 위치를 변환

각 항목에서 순위를 정하고 출력



'DB > Oracle' 카테고리의 다른 글

[Oracle 과제] Join에 대한 문제  (0) 2017.06.26
[Oracle] Join  (0) 2017.06.26
[Oracle 과제] select 문제 / SubQuery 문제  (0) 2017.06.26
[Oracle] SubQuery 중첩 쿼리 예제들  (0) 2017.06.26
[Oracle] DML(Data Manipulation Language)  (0) 2017.06.26
import java.awt.*;
import java.awt.event.*;

public class EventHomeWork extends Frame implements ItemListener{
Panel p1, p2, p3;
CheckboxGroup g1;
Checkbox rdoThree, rdoFour;
Checkbox chkRed, chkYellow, chkLeft, chkGreen;
Button btnRed, btnYellow, btnLeft, btnGreen;
public EventHomeWork() {
addWindowListener(new WinClosing(this));
p1 = new Panel();
p2 = new Panel();
p3 = new Panel();
chkRed = new Checkbox("빨강");
chkYellow = new Checkbox("노랑");
chkLeft = new Checkbox("좌회전");
chkGreen = new Checkbox("초록");
g1 = new CheckboxGroup();
rdoThree = new Checkbox("3등식", g1, false);
rdoFour = new Checkbox("4등식", g1, true);
btnRed = new Button("빨강");
btnYellow = new Button("노랑");
btnLeft = new Button("<-");
btnGreen = new Button("초록");
p1.add(rdoThree);
p1.add(rdoFour);
p2.add(chkRed);
p2.add(chkYellow);
p2.add(chkGreen);
p2.add(chkLeft);
p3.setLayout(new GridLayout(1, 4));
p3.add(btnRed);
p3.add(btnYellow);
p3.add(btnGreen);
p3.add(btnLeft);
add("North",p1);
add("Center",p2);
add("South",p3);
rdoThree.addItemListener(this);
rdoFour.addItemListener(this);
chkRed.addItemListener(this);
chkYellow.addItemListener(this);
chkGreen.addItemListener(this);
chkLeft.addItemListener(this);
}
@Override
public void itemStateChanged(ItemEvent e) {
Checkbox cb = (Checkbox)e.getSource();
switch(cb.getLabel()){
case "3등식" :
chkLeft.setVisible(false);
break;
case "4등식" : 
chkLeft.setVisible(true);
break;
case "빨강" :
if(cb.getState() == true){
btnRed.setBackground(Color.red);
}else{
btnRed.setBackground(new Color(234,234,234));
}
break;
case "초록" :
if(cb.getState() == true){
btnGreen.setBackground(Color.green);
}else{
btnGreen.setBackground(new Color(234,234,234));
}
break;
case "노랑" :
if(cb.getState() == true){
btnYellow.setBackground(Color.yellow);
}else{
btnYellow.setBackground(new Color(234,234,234));
}
break;
case "좌회전" :
if(cb.getState() == true){
btnLeft.setBackground(Color.orange);
}else{
btnLeft.setBackground(new Color(234,234,234));
}
break;
}
}
public static void main(String[] args) {
EventHomeWork test = new EventHomeWork();
test.setSize(300,400);
test.setVisible(true);
}


'Java' 카테고리의 다른 글

[과제] 로또 번호  (0) 2017.06.26
[과제] 입력받는 성적표  (0) 2017.06.26
[JAVA 정리] 18. 네트워크  (0) 2017.06.24
[JAVA 정리] 17. Windows Programming  (0) 2017.06.24
[JAVA 정리] 16. Thread  (0) 2017.06.24

package util;

import java.util.Random;

public class RandomTest {

 public static void main(String[] args) {


  //로또 1~45까지의 중복값없이 나오게 하기
  Random r2 = new Random();
  int num[] = new int[6]; //6개의 숫자 
  
  for(int i=0; i<num.length;i++){ 
   num[i] = (int)r2.nextInt(45)+1; //1부터 45까지의 6개의 숫자 임의 생성
 
   for(int j =0; j<i; j++){ // 중복 검사
    if(num[i]==num[j]){
     i--;
    }
   }
  }
   System.out.println("로또출력기 행운의 번호는!!");
   System.out.print(num[0]+" ,"+num[1]+" ,"+num[2]+" ,"+num[3]+" ,"+num[4]+" ,"+num[5]);
  
 }

}

'Java' 카테고리의 다른 글

[과제] Windows Event를 이용한 신호등 예제  (0) 2017.06.26
[과제] 입력받는 성적표  (0) 2017.06.26
[JAVA 정리] 18. 네트워크  (0) 2017.06.24
[JAVA 정리] 17. Windows Programming  (0) 2017.06.24
[JAVA 정리] 16. Thread  (0) 2017.06.24
class Student {
String name;
int no, kor, eng, tot, avg, rank;
char grade;

Student(int no , String name, int kor, int eng) {
this.no = no;
this.name = name;
this.kor = kor;
this.eng = eng;
}

}

public class Sungjuk_v3 {
java.util.Scanner scan = new java.util.Scanner(System.in);
Student[] input = new Student[3];
void Input(){
for(int i=0; i<input.length; i++){
System.out.println("학번입력");
int no = scan.nextInt();
System.out.println("이름입력");
String name = scan.next();
System.out.println("국어점수입력");
int kor = scan.nextInt();
System.out.println("영어점수입력");
int eng = scan.nextInt();
input[i] = new Student(no,name,kor,eng);
}
for(int i=0; i<input.length; i++){
input[i].tot = input[i].kor + input[i].eng;
input[i].avg = input[i].tot/2;
if(input[i].avg>=90){
input[i].grade = 'A';
}else if(input[i].avg>=80){
input[i].grade = 'B';
}else if(input[i].avg >=70){
input[i].grade = 'C';
}else if(input[i].avg >=60){
input[i].grade = 'D';
}else{
input[i].grade = 'F';
}
}
for(int row = 0; row<input.length; row++){
input[row].rank = 1;
for(int col =0; col<input.length; col++){
if(input[row].avg<input[col].avg){
input[row].rank++;
}
}
}
System.out.println("====================성적표====================");
} //void Input
public void Display(){
System.out.println("학번 \t이름\t국어\t영어\t총점\t평균\t등급\t등수");
for (int cnt = 0; cnt < input.length; cnt++) {
System.out.println(input[cnt].no + "\t" + input[cnt].name + "\t" + input[cnt].kor + "\t"
+ input[cnt].eng + "\t" + input[cnt].tot + "\t" + input[cnt].avg + "\t" + input[cnt].grade
+ "\t " + input[cnt].rank);

}
}
public void Sort(){
for (int row = 0; row < input.length - 1; row++) {
for (int col = row + 1; col < input.length; col++) {
if (input[row].rank > input[col].rank) {

Student sTemp = input[row];
input[row] = input[col];
input[col] = sTemp;

}

}
}
System.out.println("===============정렬된 성적표=================");
}
public static void main(String[] args) {
Sungjuk_v3 sug = new Sungjuk_v3();
sug.Input();
sug.Display();
sug.Sort();
sug.Display();
}

}


'Java' 카테고리의 다른 글

[과제] Windows Event를 이용한 신호등 예제  (0) 2017.06.26
[과제] 로또 번호  (0) 2017.06.26
[JAVA 정리] 18. 네트워크  (0) 2017.06.24
[JAVA 정리] 17. Windows Programming  (0) 2017.06.24
[JAVA 정리] 16. Thread  (0) 2017.06.24

 SELECT

 (1) 데이터 검색

 (2) 기본 문법

     Select 필드명 from [소유자].테이블명;;

     Select * from [소유자].테이블명;

     필드의 가공처리

     =============

     사원의 사번, 이름, 급여를 조회하는데 단, 급여는 100$를 추가해서 검색

Select empno, ename, sal+100 From emp;

     필드에 alias 적용 가능

     필드명에 as 키워드 사용하여 별명 / 필드명 별명

Select empno, ename sal as 급여, sal+100 From emp;

     중복된 값 제거 

     단 첫번째 필드에서만 사용가능

select distinct DEPTNO from emp; 픽드명 앞에


 (3) 확장 문법

  1) 정렬 가능

     order by 필드명[, 필드명, ...][ASC] | [DESC];

  2) 조건

     where 조건식 : where 필드명 연산자 값

     

     - 연산자

기본 연산자 : >, < , >=, <= , =, <>, !=, ...

논리 연산자 : and, or, not

SQL 연산자 : between and, in, is null, like, ...

like 

 % : 0개 이상의 문자 대체

 _ : 1개의 문자 대채

 ex) 

   beau% : beau, beaut, beau로시작한건 모두 찾는다.

   beau_ : beau(x) , beaut(O), beauti(x) 무조건 한글자


is null

-------------------------------------------------------

/*직원의 사번 , 이름, 부서, 업무, 급여, 보너스를 받지 못하는 직원을 조회*/

 select empno, ename, job, deptno, sal, comm from emp where comm is null;


/*직원의 사번 , 이름, 부서, 업무, 급여, 보너스를 받는 직원을 조회*/

  select empno, ename, job, deptno, sal, comm from emp where comm is not null;

 

select empno, ename, job, deptno, sal, comm from emp where comm >=0;


select empno, ename, job, deptno, sal, comm from emp where job != 'SALESMAN';

  

  3) GROUP BY 필드명(, 필드명, ...)

HAVING(조건식)

'DB' 카테고리의 다른 글

[DB] SQL  (0) 2017.06.26
[DB] 저장 형태에 따른 분류  (0) 2017.06.26


SQL (Structured Query Language)

 (1) 비절차적 언어

 (2) 구성 언어

    1) DDL (Data Definition Language) //정의하는 언어

     - CREATE 생성

     - ALTER 수정

     - DROP 삭제


    2) DML (Data Manipulation Language) //유저들이 데이터를 입력, 수정, 삭제, 병합하려고 할 때 사용하는 언어 

     - INSERT 입력

     - UPDATE 수정

     - DELETE 삭제


    3) DCL (Data Control Language) // DBMS를 사용할 수 있는 권한 및 유저가 생성한 각종 객체를 사용할 수 있는 권한을 관리하는 언어.

     - COMIT, GRANT, REVOKE, ….


    4) QL (Query Language) 

     - SELECT

'DB' 카테고리의 다른 글

[DB] SELECT문  (0) 2017.06.26
[DB] 저장 형태에 따른 분류  (0) 2017.06.26

저장 형태에 따른 분류

 (1) 계층형 DB (HDB Hierarchical DataBase) - Tree

*. 계층형 데이터베이스 모델(Hierarchical DataBase model)이란, 데이터가 트리 형태의 구조로 조직된 것을 말한다. 이 구조는 반복적인 부모-자식 관계 정보를 표현한다.

각 부모는 다수의 자식을 가질 수 있고, 자식은 단 하나만의 부모를 가질 수 있다.


 (2) 네트워크형 DB (NDB) – Graph(순환형)

네트워크형 데이터베이스 (NDB: Network Database)는 그래프 구조를 기반으로 하는 네트워크형 데이터 모델을 사용한다.

계층형 데이터 모델과 유사하나, 부모(상위 계체)를 여러개 가질 수 있다. 


(3) 관계형 DB(RDB) – Table

     Flied (최소 단위) < recode < table < database 

관계형 데이터베이스 (RDB:Relational Database)는 현재까지 가장 안정적이고 효율적인 데이터 베이스로  주로 사용되고 있다.

관계형 데이터 모델은 개체를 테이블로 사용학 개체들 간의 공동 속성을 이용하여 서로 연결하는 독립된 형태의 데이터 모델이다.


 (4) 객체형 DB (ODB)


 (5) 객체관계형 DB (ORDB)





'DB' 카테고리의 다른 글

[DB] SELECT문  (0) 2017.06.26
[DB] SQL  (0) 2017.06.26

18. 네트워크

*. Ios 7계층과 네트워크 4계층

*. Protocol

http, ftp, telnet, mail, …

ipx.spx, …

전송계층 :

Tcp

- 연결 지향성

- 안정성

- ServerSocket, Socket

Udp

- 비연결 지향성

- 속도

- DatagramSocket, DatagramPacket // 별도의 클레스에서 데이터를 담아야 됨 

네트워크 계층 :ip

*. Ip, port, socket

*. Ip

-internet protocal

-네트워크 장치 식별

- 장치연결

*.port

- 프로그램 통로

- 6만여 개 : 1~1024


예제


'Java' 카테고리의 다른 글

[과제] 로또 번호  (0) 2017.06.26
[과제] 입력받는 성적표  (0) 2017.06.26
[JAVA 정리] 17. Windows Programming  (0) 2017.06.24
[JAVA 정리] 16. Thread  (0) 2017.06.24
[JAVA 정리] 15. IO(Input Output)  (0) 2017.06.24

17. Windows Programming

(1) 쟤료 : Component메서드<클래스<컴퍼넌트

(2) 디자인 : Layout

(3) 동작 : Event

(4) Component

1) AWT(Abstract Window Toolkit)

Java.awt.Component

Button

Canvas //그림판

Checkbox

Choice

Container // 다른것들을 감싸주는 역할 창고의 기능

Panel

- Applet //실제로는 사용하지 않는다.인터넷

Window

- Dialog

- FileDialog

- Frame

Label //글자출력

List //목록

Scrollbar

TextComponent

TextArea // 한 줄 입력

TextFileld // 여러 줄 입력

Dialog

- Custom(User Define) Dialog // 사용자가 직접 디자인해서 만듬

- Common(System) Dialog //

- 실행 방식

Modal

Modaless

(5) Layout

1) FlowLayout : Panel

2) BorderLayout :태두리(위 아래 오 왼 가운데) 5군대 중 지정해서 배치 할 수 있음

- west, north, south, east, center => window

3) GridLayout :테이블모양으로 행 열로 위치하여 좀 더 정교하게 배치할 수 있다.

4) GridBagLayout

5) CardLayout :눌렀을때 이벤트 발생 // 한 화면에 동시화면 띄어줄 수 있게

(6) Event

1) 3요소

- 이벤트 소스 (where , component)

- 이벤트 클래스 (what ,사건의 종류 어떤사건인지)

Java.util.AWTEvent

-- ActionEvent

컴퍼넌트가 활성화 될 때 발생하는 이벤트

-- AbjustmentEvent

스크롤바와 같이 조정 가능한 컴퍼넌트에서 조정이 일어날 때

-- ComponentEvent

ContainerEvent

컨테이너에 컴퍼넌트가 추가/삭제되는 경우 발생하는 이벤트

FocusEvent

컴퍼넌트에 포커스가 들어왔을 때 발생하는 이벤트

InputEvent

KeyEvent 키보드에 입력된 이벤트

MouseEvent 마우스 클릭에 대한 이벤트

PainEvent

컴퍼넌트가 다시 그려질 때 발생하는 이벤트

WindowEvent

윈도우가 활성화,또는 닫힐 때 발생하는 이벤트

-- ItemEvent

List, Choice와 같이 선택항목이 존재하는 컴퍼넌트에서 선택항목이 선택될 때 발생하는 이벤트

-- TextEvent

텍스트 컴퍼넌트의 내용이 변화될 때 발생하는 이벤트

- 이벤트 핸들러 (how , 어떻게 처리할 것 인지 , 리스너 인터페이스)

2) 이벤트 핸들러 처리 방식

- 이벤트 소스와 이벤트 핸들러가 같은 클래스인 경우

- 이벤트 소스와 이벤트 핸들러가 다른 클래스인 경우

- 이벤트 핸들러가 내부 클래스인 경우

- 이벤트 핸들러가 무명(익명) 클래스인 경우

3) 이벤트 소스와 이벤트 핸들러의 연결

- 이벤트 소스.addXXXListener(이벤트 핸들러); 

4) Adapter Class 

5) 그 외 이벤트 리스너

6) Menu

- Pull Down Menu(고정식 메뉴)

MenuBar

Menu

MenuItem

- Popup Menu (이동식 메뉴, Context Menu)

PopupMenu

MenuItem

'Java' 카테고리의 다른 글

[과제] 입력받는 성적표  (0) 2017.06.26
[JAVA 정리] 18. 네트워크  (0) 2017.06.24
[JAVA 정리] 16. Thread  (0) 2017.06.24
[JAVA 정리] 15. IO(Input Output)  (0) 2017.06.24
[JAVA 정리] 14. 예외 처리  (0) 2017.06.24

16. Thread

 (1) Program & Process

    ->현재 실행되고 있는 Program 이 Process이다.

1) Single Process :하나의 프로그램을 실행중인 상태에서 다른 프로그램을 사용할 수 없음.

2) Multi Process :하나의 프로세스 안에서 여려 작업을 동시에 할 수 있는 것

Multi Processor

하나의 프로그램에 안에서 실행되는 작업 단위 =>스레드

(2) Process

1) Thread

- Single Thread

-Multi Thread

2) 모든 프로그램은 반드시 기본적으로 한 개의 스레드를 가지고 있다.

- Main Thread (메인 메서드 자체가 하나의 메인 스레드 역할 이다.)

(3) 처리방식

1) Thread 클래스 - >편함 (이미 만들어져 있다.)

2) Runnable인터페이스 - > 불편함 

(4) Thread의 이름을 처리하는 방법

1) 직접 변수를 통해 저장

2) 부모에 저장해두고 사용 getName()

3) CurrentThread()를 이용

(5) Thread의 LifeCycle


(6) synchronized

1) 메서드

2) 블러

Synchronized(…){

… 

}

변수에는 쓸 수 없다.가급적이면 메서드에쓰는게 좋다.

3) wait() , notify(), notifyAll()

(7) 강제 종료

1) stop()

2) interrupt()

3) 직접 제어

(8) 스레드의 종료 시점

1) isAlive() 스레드가 있으면 조건문으로

2) join()

'Java' 카테고리의 다른 글

[JAVA 정리] 18. 네트워크  (0) 2017.06.24
[JAVA 정리] 17. Windows Programming  (0) 2017.06.24
[JAVA 정리] 15. IO(Input Output)  (0) 2017.06.24
[JAVA 정리] 14. 예외 처리  (0) 2017.06.24
[JAVA 정리] 13. Generic  (0) 2017.06.24

+ Recent posts