연습문제
/*
근무자의 이름을 입력받아
해당 근무자의 사원번호, 사원명, 아이디, 연봉을 출력하는 프로그램을 작성하시오.
단 사원명이, 외국인인 경우는 대소문자 구별없이 찾아지도록 한다.
*/
import java.util.Scanner;
import java.sql.*;
class SqlTest2{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("근무자의 이름을 입력하시오");
String input = sc.next();
//String sql = "사원번호 : " + name + "\t" + "사원명 : " + name + "\t" + "아이디 : " + substr(email, 1, instr(email,'@')-1) + "\t" + "연봉 : " + (sal*12);
String sql = "select no, lower(trim(name)), substr(email, 1, instr(email,'@')-1), nvl(sal,0)*12 annsal from emp where lower(trim(name)) ='" + input + "'";
try{
// 1. jdbc 드라이버를 메모리에 로드
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2. DB 서버 연결
String url = "jdbc:oracle:thin:@203.236.209.141:1521:XE";
String user = "scott";
String pwd = "tiger";
Connection conn = DriverManager.getConnection(url, user, pwd);
// 3. sql 명령어를 위한 Statement 객체 생성
Statement stmt = conn.createStatement();
// 4. sql 명령어 실행
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()){
String no = rs.getString(1);
String name = rs.getString(2);
String email = rs.getString(3);
int sal = rs.getInt(4);
System.out.println(no + "\t" + name + "\t" + email + "\t" + sal);
}
rs.close();
stmt.close();
conn.close();
}catch (Exception e){
System.out.println(e);
}
}
}
/*
주소의 일부분을 입력받아 해당 주소지이면서 성별이 남자인
근무자의 정보를 출력하는 프로그램을 작성
사원번호, 사원명, 부서명, 연봉, 아이디를 출력합니다.
단, 부서명순으로 출력하되 동일할 때는 연봉이 높은순으로 출력합니다.
*/
sql 명령어
select no, name, dname, (sal*12), substr(email, 1, instr(email, '@')-1)
from emp
where instr(jumin, 8) = '1'
and addr like '%서울%';
'JAVA > Oracle' 카테고리의 다른 글
오라클 예제 - 날짜관련 함수 및 to_char 사용 예제 (0) | 2016.06.18 |
---|---|
오라클 예제 - 문자열 관련 함수를 이용한 자료 검색 예제 (0) | 2016.06.18 |
오라클이 제공하는 문자열 관련 함수를 이용한 자료 검색 (0) | 2016.06.18 |
오라클이 제공하는 수학관련 함수를 이용한 자료 검색 (0) | 2016.06.18 |
사원관리 시스템 개발 시 필요한 정보와 like 연산자 사용(칼럼의 값이 특정 무자열을 포함하고 있는 자료의 검색) (0) | 2016.06.18 |