1. 아래를 SQL문으로 표기 하시오.

1.1. 부서 번호(DEPTNO)가 20인 사원에 관한 정보만 출력

select * from emp where deptno = 20;

 

1.2. 이름(ENAME)이 FORD인 사람의 사번(empno), 이름(ename), 급여(SAL)를 출력하는 쿼리문

select empno, ename, sal from emp where ename = 'FORD';

 

1.3. 1982년 1월 1일 이후에 입사한 사원을 출력하는 쿼리문

select ename from emp where hiredate >= date '1982-01-01';
select ename from emp where hiredate >= date '1982.01.01';
select ename from emp where hiredate >= date '1982/01/01';

 

1.4. job 이 MANAGER 이고 10번 부서인 사원

select ename from emp where job = 'MANAGER' AND deptno = 10;

 

1.5. job 이 MANAGER 이거나 10번 부서인 사원

select ename from emp where job = 'MANAGER' OR deptno = 10;

 

1.6. 10번 부서가 아닌 사원

select ename from emp where deptno != 10;
select ename from emp where deptno <> 10;
select ename from emp where not deptno = 10;

 

1.7. 급여가 2000~3000 사이의 사원을 검색하는 쿼리문

select ename from emp where sal >= 2000 AND sal <= 3000;
select ename from emp where sal between 2000 and 3000;

 

1.8. 급여가 2000 미만이거나 3000 초과인 사원을 검색하는 쿼리문

select ename from emp where sal < 2000 OR sal > 3000;
select ename from emp where sal not between 2000 and 3000;

 

1.9. 1987년에 입사한 사원을 출력하는 쿼리문

select ename from emp where hiredate between '1987-01-01' and '1987-12-31';

 

1.10. 커미션(COMM)이 300 혹은 500 혹은 1400인 사원이 있는지 검색하는 쿼리문

select ename from emp where comm = 300 OR comm = 500 OR comm = 1400;
select ename from emp where comm in (300, 500, 1400);

 

1.11. 커미션(COMM)이 300 혹은 500 혹은 1400이 아닌 사원이 있는지 검색하는 쿼리문

select ename from emp where comm not in (300, 500, 1400);

 

1.12. 이름이 F로 시작하는 사람을 찾는 쿼리문

select ename from emp where ename LIKE 'F%';

 

1.13. 위치 상관 없이 이름 중에 A가 들어있는 사람을 찾는 쿼리문

select * from emp where ename LIKE '%A%';

 

1.14. 이름이 N으로 끝나는 사람을 찾는 쿼리문

select * from emp where ename LIKE '%N';

 

1.15. 이름의 두 번째 글자가 A인 사원을 찾는 쿼리문

select * from emp where ename LIKE '_A%';

 

1.16. 이름의 세 번째 글자가 A인 사원을 찾는 쿼리문

select * from emp where ename LIKE '__A%';

 

1.17. 이름에 A를 포함하지 않는 사람만 검색하는 쿼리문

select * from emp where ename not LIKE '%A%';

 

1.18. 사원들의 급여를 오름차순으로 정렬하는 쿼리문

select * from emp order by sal asc;

 

1.19. 가장 최근에 입사한 사원부터 출력하는 쿼리문

select * from emp order by hiredate desc;

 

1.20. 사원들이 소속되어 있는 부서의 번호를 출력하는 쿼리문

select distinct deptno from emp;

 

1.21. 아래와 같이 쿼리문을 통해 출력하시오.

SMITH is a CLERK
ALLEN is a SALESMAN
WARD is a SALESMAN
JONES is a MANAGER
MARTIN is a SALESMAN
BLAKE is a MANAGER
CLARK is a MANAGER
KING is a PRESIDENT
TURNER is a SALESMAN
JAMES is a CLERK
FORD is a ANALYST
MILLER is a CLERK

select ename || ' is a ' || job "ename is job" from emp;

 

 

2. 실습문제 1번

2-1. HTML 페이지

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>자바 빈을 이용해 가위바위보를 해보자!</title>
</head>
<body>
	<h1>가위바위보 게임</h1>
	<img alt="RSP_Logo" src="http://res.heraldm.com/
	content/image/2016/06/17/20160617000234_0.jpg"
	width="400px">
	<form action="RSP_Info_mk2.jsp">
		<select name="user">
			<option>가위
			<option>바위
			<option>보
		</select><br>
		<input type="submit" value="제출">
	</form>
</body>
</html>

 

2-2. JSP

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<jsp:useBean id="rspAl" class="edu.bit.ex.Rsp"></jsp:useBean>

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>과연 결과는?</title>
</head>
<body>
	<% String user = request.getParameter("user"); %>
	
	<%
		out.println("<h1>당신이 낸 것</h1>");
		if(user.equals("가위")) {
	%>
			<img src="http://isweb.joongbu.ac.kr/~jgm/photo/sissor.jpeg">
	<%
		} else if(user.equals("바위")) {
	%>
			<img src="http://isweb.joongbu.ac.kr/~jgm/photo/rock.jpeg">
	<%
		} else if(user.equals("보")) {
	%>
			<img src="http://isweb.joongbu.ac.kr/~jgm/photo/paper.png">	
	<%
		}
	%>
	
	<%
		out.println("<h1>컴퓨터가 낸 것</h1>");
		if(rspAl.getCom() == 1) {
	%>
			<img src="http://isweb.joongbu.ac.kr/~jgm/photo/sissor.jpeg">
	<%
		} else if(rspAl.getCom() == 2) {
	%>
			<img src="http://isweb.joongbu.ac.kr/~jgm/photo/rock.jpeg">
	<%
		} else if(rspAl.getCom() == 3) {
	%>
			<img src="http://isweb.joongbu.ac.kr/~jgm/photo/paper.png">	
	<%
		}
	%>
	
	<h1><% out.println(rspAl.compareResult(user)); %></h1>
	<a href="RSPMk2.html">다시 하기</a>
</body>
</html>

 

2-3. 자바 빈(알고리즘)

package edu.bit.ex;

import java.util.Random;

public class Rsp {
	Random random = new Random();
	
	private int com; // 컴퓨터
	private String user; // 유저
	
	public Rsp() {
		
	}
	
	public String getUser() {
		return user;
	}

	public void setUser(String user) {
		this.user = user;
	}

	public int getCom() { // 리턴 값(1: 가위, 2: 바위, 3: 보)
		com = random.nextInt(3) + 1;
		return com;
	}

	public void setCom(int com) {
		this.com = com;
	}
	
	public String compareResult(String user) {
		String result = "";
		
		switch(com) {
		case 1 : // 가위
			if(user.equals("가위")) {
				result = "비김";
			} else if(user.equals("바위")) {
				result = "승리";
			} else if(user.equals("보")) {
				result = "패배";
			}
			break;
		case 2 : // 바위
			if(user.equals("가위")) {
				result = "패배";
			} else if(user.equals("바위")) {
				result = "비김";
			} else if(user.equals("보")) {
				result = "승리";
			}
			break;
		case 3 : // 보
			if(user.equals("가위")) {
				result = "승리";
			} else if(user.equals("바위")) {
				result = "패배";
			} else if(user.equals("보")) {
				result = "비김";
			}
			break;
		}
		return result;
	}
}

 

2-4. 구현화면

 

 

3. 실습문제 2번

3-1. 소스코드

<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Driver"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%! 
	Connection connection;
	Statement statement;
	ResultSet resultSet;
	
	String driver = "oracle.jdbc.driver.OracleDriver"; // 드라이버 위치
	String url = "jdbc:oracle:thin:@localhost:1521:xe"; // 해당 주소
	String uid = "scott"; // 테이블 명
	String upw = "tiger"; // 테이블 pw
	String query = "select * from emp"; // 테이블 내 쿼리
%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>사원 정보</title>
</head>
<body>
	<table border="1">
		<tr>
			<td>EMPNO</td>
			<td>ENAME</td>
			<td>JOB</td>
			<td>MGR</td>
			<td>HIREDATE</td>
			<td>SAL</td>
			<td>COMM</td>
			<td>DEPTNO</td>
		</tr>
		
		<%try {
				Class.forName(driver); // driver 가져오기
				connection = DriverManager.getConnection(url, uid, upw);
				statement = connection.createStatement();
				resultSet = statement.executeQuery(query);
				
				while(resultSet.next()) {
					String empno = resultSet.getString("empno");
					String ename = resultSet.getString("ename");
					String job = resultSet.getString("job");
					String mgr = resultSet.getString("mgr");
					String hiredate = resultSet.getString("hiredate");
					String sal = resultSet.getString("sal");
					String comm = resultSet.getString("comm");
					String deptno = resultSet.getString("deptno");
					
					out.println("<tr>");
					out.println("<td>" + empno + "</td>");
					out.println("<td>" + ename + "</td>");
					out.println("<td>" + job + "</td>");
					
					if(mgr == null) {
						out.println("<td>\t</td>");
					} else {
						out.println("<td>" + mgr + "</td>");
					}
			
					out.println("<td>" + hiredate + "</td>");
					out.println("<td>" + sal + "</td>");
					
					if(comm == null) {
						out.println("<td>\t</td>");
					} else {
						out.println("<td>" + comm + "</td>");
					}
					
					out.println("<td>" + deptno + "</td>");
					out.println("</tr>");
				}
			} catch(Exception e) {
				
			} finally {
				try {
					if(resultSet != null) resultSet.close();
					if(statement != null) statement.close();
					if(connection != null) connection.close();
				} catch (Exception e) {
					
				}
			}%>
	</table>
</body>
</html>

 

3-2. 구현화면