like 절

Programing/Oracle 2011. 4. 25. 13:36

SQL LIKE 는 무엇이며, 언제 사용 되는가?

  • LIKE 는 SQL 연산자이다.
  • 이 연산자는 WHERE 절에서 사용 된다.
  • WHERE 절에서 하나의 컬럼에 대한 데이터 패턴 검색을 하기 위해서 사용 된다.
  • 검색 대상 칼럼은 문자이거나 문자열이여야 한다.

어떻게 LIKE 는 SQL에서 사용 되는가?

LIKE syntax In SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-- case 1
SELECT
  *
FROM
  customers
WHERE
  cust_name LIKE 'Fun4%'; -- Fun4 로 시작하는 이름 찾기
  
-- case2
SELECT
  *
FROM
  customers
WHERE
  cust_name LIKE '%he%'; -- he 를 포함하는 이름 찾기


 

예)


 


주의 해야 되는것이 있는가?

  • 와일드 카드(wild card)를 알아야 실제로 LIKE를 쓸 수 있다.
  • 와일드 카드 없이 사용 할 수 있으나, 그럴 경우 = 과 똑같다.

여담

  • 와일드 카드는 일종의 정규화 패턴 양식 쯤으로 생각하면 된다. 좀 더 간단하니, 다음에 다루도록 한다.



출처 : http://ikpil.com/trackback/1201

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

SQL JOIN  (0) 2011.01.18
Posted by kalkins
,

substring

Programing/Java 2011. 4. 18. 15:30

substring 이란 무엇인가

우선 api를 살펴보자

 String substring (int beginIndex)
          이 캐릭터 라인의 부분 캐릭터 라인인 새로운 캐릭터 라인을 돌려줍니다.
 String substring (int beginIndex, int endIndex)
          이 캐릭터 라인의 부분 캐릭터 라인인 새로운 캐릭터 라인을 돌려줍니다.


첫번째 처럼 생성자 부분에 int형 1개만 넣어주면 그 시작 위치부터 끝까지,

예를 들어
"unhappy"를
 
substring(2) 로 자르게 되면 (0 index부터 시작, h가 2 에 해당)

"happy"가 리턴된다.

두번째 경우 api 에서 친절하게도 시작위치, 끝 위치를 넣으라고 알려주고 있다

 "hamburger"를
substring(4, 8) 로 자르면.. (4에 해당 되는 값이 u, 8에 해당하는 값이 r)
"urge" 가 리턴된다
중요한것 ! lastIndex 인 8 에 해당 하는 r은 포함하지 않는다!!!!!




ps. 학원에서 배울때 그다지 중요하지 않은것처럼 대충 설명하고 지나갔던것이 실전에서는 무지 많이 쓰이는
중요한 함수라는것을 알게되었다..역시 실전은 최고의 교육공간ㅎㅎ

'Programing > Java' 카테고리의 다른 글

추상클래스  (0) 2010.12.12
0330(윤년구하기)  (0) 2010.10.28
0329 / 0330  (0) 2010.10.28
Posted by kalkins
,

SQL JOIN

Programing/Oracle 2011. 1. 18. 09:07
JOIN

1. 2개 이상의 테이블을 연결 select 하기 위해 사용.
2. left join, right join, unique join등이 있다
3. 연결하기 위해 연결된 키가 필요하다. 테이블에서 컬럼 값이 그 KEY가 된다.
4. 연결 column 은 대개 UNIQUE한 값을 가지고 잇는 것을 사용한다 .


SQL INNER JOIN 이란 무엇인가?
table 간 관계 조건이 맞을 때 row를 리턴하는 키워드.
만약 column 이 값은값이 없을 경우 아무것도 리턴하지 않는다.


어떻게 이해 해야 좋은가?

  1. 종이와 연필을 준비 한다.
  2. 테이블 A,B,C를 그린다.

  3. 테이블 A, B에 내용이 있고, 테이블C는 임시 테이블이다.
  4. 테이블 C에 테이블 A,B 칼럼을 그린다.

  5. 테이블 A의 row를 왼손으로 가리키고, ON 으로 연관된 테이블 B row 를 오른손으로 찾는다.
  6. 오른손이 찾았다면, 테이블 C에 A.row 와 B.row를 그린다.
  7. 오른손이 못찾았다면, 왼손으로 가리킨것을 다른 row를 가리킨다.

  8. 테이블 A의 row 를 다 가리킬 때까지, 5 ~ 7번을 반복한다.

  9. 여기서 테이블 C가 SQL INNER JOIN 의 결과이다.

http://ikpil.com/trackback/1207

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

like 절  (0) 2011.04.25
Posted by kalkins
,

<table width=200>
<tr>
<td onMouseover="this.style.backgroundColor='yellow'" onMouseout="this.style.backgroundColor='white'">첫번째 메뉴 입니다</td>
</tr>
<tr>
<td onMouseover="this.style.backgroundColor='yellow'" onMouseout="this.style.backgroundColor='white'">두첫번째 메뉴 입니다</td>
</tr>
</table>

'Programing > HTML/Css/Xml' 카테고리의 다른 글

Dom을 사용한 HTML속성 컨트롤  (0) 2011.01.14
Posted by kalkins
,
getAttribute()//HTML속성을 가져온다
gettAttribute()//HTML속성을 설정한다
removeAttribute()//HTML요소의 속성을 제거


<img id="myimage" src="http://www.jasko.co.kr/src/0000.gif">

<div id="mylayer" style="width:200px;height:30px;background-color:yellow">이
레이어의 배경색은 노랑색 입니다</div>

<script>
<!--
function checkSrc() { // myimage 의 src 속성을 리턴합니다
getSrc=document.getElementById("myimage").getAttribute("src")
(getSrc = 폼네임.id.src=" .jpg" 이런식으로 설정해도 된다 , id값은 유일해야함)
alert(getSrc);
}
function setSrc() { // myimage 의 src 속성을 변경합니다
document.getElementById("myimage").setAttribute("src","http://www.jasko.co.kr/src/0001.gif")
}
function reMove() { // mylayer 의 style 을 제거합니다
document.getElementById("mylayer").removeAttribute("style")
}
//-->
</script>

'Programing > HTML/Css/Xml' 카테고리의 다른 글

css 스타일을 사용한 간단한 롤오버 메뉴  (0) 2011.01.14
Posted by kalkins
,
* dios_cooking.jsp

<ul>
  <li id ="copy"  style="display:none;" value="copy">
     <a onClick="pickupImg('ico1','copy'); return false;" href="#" >
     <img src="/ico011.gif" id='ico1' width="90" height="30" alt="copy" /></a></li>
  <li>...</li>
  <li>...</li>
...
<ul>

<input type="hidden" name ="categori"/>  //hidden 이용, 다음페이지로 data를넘겨준다

자바스크립트 호출

function pickupImg(num,cate) {
 var frm = document.replyFrame; //form name이 replyFrame
 replyFrame.categori.value = cate;   
// 넘겨받은 두번째 변수값을 hidden의 value에 저장시킨다

 document.getElementById('ico_taste').src = document.getElementById(num).src;
 document.getElementById("test").style.display = "none";


event_sub1_proc.jsp에서는
eventCommonData.setString("c_5", paramData.getString("categori"));
이런식으로 값을 뽑아 올수 있다!!!!!!!!!!!

실수 원인 : ul li에 value값 세팅후 돔파싱하여 가져올려고 했으나
그방법은 tr td에 value값을 세팅하는 것과 마찬가지였다...........OTL.................
 

'Programing > JSP' 카테고리의 다른 글

guestbook_control.jsp  (1) 2010.06.30
Posted by kalkins
,

추상클래스

Programing/Java 2010. 12. 12. 02:12

1. 추상클래스 (미완성 설계도)
클래스=설계도 ,, 추상클래스 =미완성 설계도, 추상메소드를 포함하고 있는 메소드일뿐.

***추상메소드 : 선언만되있고 안에 내용이 없는 메소드
abstract 리턴타입 메서드이름();


abstract Class Player{//추상클래스가 존재 하므로 클래스 앞에 abstract 를 붙여줘야한다

     int currentPos; //(추상클래스에 인스턴스 ,멤버 변수 존재 가능)

     player(){
            currendtPos=0;
      }  // 생성자 (추상클래스에 생성자 존재 가능)

    abstract void play(int pos);//추상메소드 , 선언만 해놓는다
    abstract void stop
();//추상메소드, 선언만 해놓는다

    void play(){  //일반메소드
         play(currentPos);//일반메소드에서 추상메소드를 호출하고 있다
     }
   ........
}

-추상클래스는 추상메소드를 포함한다(추상메소드는 선언부만 있다)
-완성된 설계도가 아니므로 추상클래스는 인스턴스를 생성할수 없다
-다른클래스(자식클래스)에서 미완성된 추상메소드를 구현하게 된다
-이것은 다형성을 이루는데 한역할을 한다.



*추상클래스 상속의예 1)

class AudioPlayer extends Player(){  // 추상클래스인 Player를 상속받고 있다
       void play(int pos){구현시작}
       void stop(){구현시작}
}


*추상클래스 상속의예 2)
 abstract class Abstractplayer extends Player{ // 위의 예와 달리 play메소드만 호출하여 구현하므로 
                                                                       abstract를 붙여준다
     void play(int pos) {구현시작}
}

'Programing > Java' 카테고리의 다른 글

substring  (0) 2011.04.18
0330(윤년구하기)  (0) 2010.10.28
0329 / 0330  (0) 2010.10.28
Posted by kalkins
,


1. 연도를 4로 나누어 나머지가 0이고
   연도를 100으로 나누어 나머지가 0이 아닌경우

2. 연도를 400으로 나누어 나머지가 0인경우

출력)
int year=2010;
윤년입니다!
또는 평년입니다




class LeapYeatTest

class LeafYearTest
{

  public static void main(String[] args) 
 {
  int year=2008; if(year%4==0&&year%100!=0&&year%400==0){
  System.out.println("윤년입니다");
  }else{
  System.out.println("평년입니다");
  }
 } }

'Programing > Java' 카테고리의 다른 글

substring  (0) 2011.04.18
추상클래스  (0) 2010.12.12
0329 / 0330  (0) 2010.10.28
Posted by kalkins
,

0329 / 0330

Programing/Java 2010. 10. 28. 18:16

0329

FileName : Test.java

class Test
{
  public static void main(String args[])
    {
       System.out.println("자바, 안녕~!!");
    }
}


/*
정리 :
1.자바안녕 출력해보기
2.class이름과 파일명은 대소문자까지 맞춰야 됨.
3.모든 소스에 메인문은 한개여야한다.


*/
==================================================================================
0330

1.필드(변수) : 속성, 자료구조

  자료형 변수명;
   8개+알파(8개 예약어 : boolean,byte,char,String,int,float,long,double+
   ETC:사용자정의변수&)

2.메소드 : 기능
  
   리턴자료형 메소드명()
     {

     }

   소괄호 : 매개변수, 인수, 인자, 파라미터, 아규먼트
                                           parameter   argument
    매개변수의 형식 --> 변수선언

    리턴자료형 --> 8+클래스데이터타입 + void(반환데이터없음)

    커피  gildong (int coin, String str){
     1. 동전을 받기
     2. 문열기
     3. 자판기
     4. 동전투입
     5. 커피뽑기
     6. 문닫기
     7. 커피전달
   }


3. 클래스
  
  class 클래스명
{//영역시작
   //필드 선언;
   //메소드 정의{}

}//영역끝


<연산자>

1. 산술연산자
    + - *
    /   : 몫구하기
    %(모듈연산자)  : 나머지구하기

2. 증감연산자
    ++ --
    
     int su=0;

         ++su; (전위연산자)먼저  // su = su+1;
         --su;    //   su = su-1;
           su++; (후위연산자)나중  // su = su+1;
--------------------------------------------------
     int sum = 0;
     int su = 5;

     case1)
         sum = ++su; 
        
          System.out.printlnt(sum); //6
          System.out.printlnt(su);  //6
               

     case2)
         sum = su++;

          System.out.printlnt(sum); //5
          System.out.printlnt(su);  //6


3. 관계(비교)연산자 (결과값boolean)
     >, <, >= ,<=, ==,    !=
            => (x)    = (x)  !== (x)
    int a=10;
    int b=20;
  
      a > b : false
      a < b : true
      a ==  b : false
      a != b : true

4. 논리연산자
   
    &&  (논리곱연산자) AND연산자 (그리고)
         : 두 변수가 전부 true였을때 true의 결과값
     ||  (논리합연산자)  OR연산자 (또는)
         : 두 변수가 전부 false였을때 false의 결과값

   a && b  : 이때 a와 b는 boolean 변수여야함!!
   0      0  : false
   0      1  : false
   1      0  : false
   1      1  : true

   a || b
   0     0  : false
   0     1  : true
   1     0  : true
   1     1  : true

   a &&  b && c
   0      0      0
   0      0      1
   0      1      0
   0      1      1
   1      0      0
   1      0      1
   1      1      0
   1      1      1   true

'Programing > Java' 카테고리의 다른 글

substring  (0) 2011.04.18
추상클래스  (0) 2010.12.12
0330(윤년구하기)  (0) 2010.10.28
Posted by kalkins
,

3개의 예제를 통해 스프링사용의 장점을 알아보자

Case1.

Hellotest.java
package j0818.t3;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

public class HelloTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Resource resource = new ClassPathResource("j0818/t3/applicationContext.xml");
		BeanFactory factory= new XmlBeanFactory(resource);//xml값 얻어오기	
		MessageBean msg=(MessageBean) factory.getBean("messageBean");
		msg.sayHello("홍길동~");//xml에서 class값으로 객체를 조종할수있다..
	}

}





MessageBean.java

1
2
3
4
5
6
7
package j0818.t1;

public class MessageBean {
	public void sayHello(String name){
		System.out.println("Hello,"+name);
	}
}

Case2.

Hellotest.java
1
2
3
4
5
6
7
8
9
package j0818.t2;
public class HelloTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		MessageBean msg = new MessageBeanEn();//객체값만 변경하여 호출할수있다
		msg.sayHello("길덕");
	}
}

MessageBean.java  (interface)

1
2
3
4
5
package j0818.t2;

public interface MessageBean {
	public void sayHello(String name);//인터페이스니까 바디없는 메소드를 만든다?
}

MessageBeanEn.java
1
2
3
4
5
6
7
8
package j0818.t2;

public class MessageBeanEn implements MessageBean {

	public void sayHello(String name) {
		System.out.println("Hello,"+name);
	}
}

MessageBeanKo.java

1
2
3
4
5
6
7
8
9
10
package j0818.t2;

public class MessageBeanKo implements MessageBean {

	public void sayHello(String name) {
		// TODO Auto-generated method stub
		System.out.println("안녕,"+name);
	}

}
Case3.

Hellotest.java
package j0818.t3;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

public class HelloTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Resource resource = new ClassPathResource("j0818/t3/applicationContext.xml");
		BeanFactory factory= new XmlBeanFactory(resource);//xml값 얻어오기	
		MessageBean msg=(MessageBean) factory.getBean("messageBean");
		msg.sayHello("홍길동~");//xml에서 class값으로 객체를 조종할수있다..
	}

}
MessageBean.java  (interface)

1
2
3
4
5
package j0818.t3;

public interface MessageBean {
	public void sayHello(String name);//인터페이스니까 바디없는 메소드를 만든다?
}


MessageBeanEn.java
1
2
3
4
5
6
7
8
9
10
package j0818.t3;

public class MessageBeanEn implements MessageBean {

	public void sayHello(String name) {
		// TODO Auto-generated method stub
		System.out.println("Hello,"+name);
	}

}

MessageBeanKo.java
1
2
3
4
5
6
7
8
9
package j0818.t3;

public class MessageBeanKo implements MessageBean {

	public void sayHello(String name) {
		// TODO Auto-generated method stub
		System.out.println("안녕,"+name);
	}
}


applicationContext.xml
1
2
3
4
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd ">
		<bean id="messageBean" class="j0818.t3.MessageBeanEn"></bean>
</beans>
Posted by kalkins
,