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 CLERKselect 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. 구현화면
'WebDev > 본과정' 카테고리의 다른 글
[JSP] MVC 패턴을 이용한 DB 가져오기 (0) | 2021.05.15 |
---|---|
SQL의 그룹 함수와 형 변환 및 조건문, JSP의 MVC 패턴 (0) | 2021.05.15 |
DB의 개요와 JSP의 Session, Exception, Java Bean (0) | 2021.05.15 |
경로, CSS의 Position, JSP의 액션태그 및 쿠키 (0) | 2021.05.15 |
CSS의 Box 속성과 JSP의 내장객체 (0) | 2021.05.15 |
최근댓글