44일차

김윤정·2024년 8월 19일

코딩

목록 보기
44/60
post-thumbnail

1. javascript 에서 아래의 함수에 대하여 설명하시오.

  • alert : 사용자에게 메시지를 알림, 알려주는것 이외에는 다른동작 없습니다.

  • confirm : 사용자에 무언가 확인을 받기 위한 알림,확인(true)또는 취소(false)로 구분됩니다.
    확인:true, 취소:false

  • prompt : 사용자로 부터 무언가 내용을 입력 받을떄 사용하는 알림입니다.
    prompt("알림텍스트","입력란default메시지")메소드는 2가지 파라미터가 적용됩니다.

2. javascript 에서, 데이터 타입 종류와 변수 선언 방법은?(예습)

데이터 타입 종류

  • 자료형: 문자, 숫자, boolean, 함수, 객체, undefined

변수 선언 방법

1) var

초기 JS 부터 존재했던 변수 선언방식으로, 재선언과 재할당이 가능합니다.

이에 따라 유연하게 코드를 작성할 수 있는 장점이 있습니다.

2) let

ES6 이후에 const와 같이 도입된 선언 방식입니다.
var에서 변수의 중복 선언(재선언)을 막았습니다. (시도하면 SyntaxError 발생)

3) const

재선언은 물론 재할당까지 막은 방식입니다.
즉, 한번 할당된 값은 다른 값으로 덮을 수 없어 '상수'를 선언할 때 사용됩니다.
다만 원시값 변경이 불가능할 뿐 객체는 변경할 수 있으므로 '불변'을 의미하지는 않습니다.

3. 세션과 쿠키에 대하여 설명하시오.

  • 쿠키
    웹브라우저에 저장하고 4kb로 용량이 제한적이며, string 형태(key와 value)로 300개까지 데이터 정보를 가질 수 있습니다.

  • 세션
    세션은 서버에서만 접근이 가능하여 보안이 좋고, 저장할 수 있는 데이터에 한계가 없습니다

  • 풀이는 아래와 같다. cookie_set.jsp파일을 생성하여 아래와 같이 코딩한다.
    cookie_set.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	Cookie cookie = new Cookie("CookieN","CookieV");
	cookie.setMaxAge(60*60);
	
	response.addCookie(cookie);//response안에다가 cookie를 보냄
%>

<a href="cookie_get.jsp">cookie get</a>
	
</body>
</html>

cookie_get.jsp

  <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
   Cookie[] cookies = request.getCookies();
   
   for(int i=0; i<cookies.length;i++){
      out.println("쿠키 이름:" +  cookies[i].getName() + "<br/>");
      out.println("쿠키 값:" +  cookies[i].getValue() + "<br/>");
   }

%>


</body>
</html>
### 5.아래의 session_set.jsp 파일에 대하여 session get 를 클릭하면 모든 세션 값을 출력하는 session_get.jsp를 만드시오.
session_set.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	session.setAttribute("sessionName","sessionValue");
	session.setAttribute("myNum",12345);
%>

<a href="session_get.jsp">session get</a>
	
</body>
</html>

6. 아래의 쿼리를 완성하시오.

자신의 관리자보다 먼저 입사한 모든 사원의 이름, 입사일,
관리자의 이름, 관리자의 입사일을 출력하되 각각 컬럼명을
Employee,EmpHiredate, Manager,MgrHiredate로 표시하여 출력하라.

SELECT E.ENAME AS "Employee", E.HIREDATE AS "EmpHIredate",
M.ENAME AS "Manager",
M.HIREDATE AS "MgrHiredate"
FROM EMP E, EMP M
WHERE E.MGR=M.EMPNO AND E.HIREDATE<M.HIREDATE

모든 사원의 급여 최고액,최저액,총액 및 평균액을 출력하되
각 컬럼명을 Maximum, Minimum, Sum, Average로 지정하여 출력하라.

SELECT MAX(SAL) AS "Maximum", MIN(SAL) AS "Minimum",
SUM(SAL) AS "Sum", AVG(SAL) AS "Average"
FROM EMP

각 직업별로 급여 최저액.최고액,총액 및 평균액을 출력하라.

SELECT JOB, MAX(SAL), MIN(SAL), SUM(SAL), AVG(SAL)
FROM EMP
GROUP BY JOB

직업이 동일한 사람 수를 직업과 같이 출력하라.

SELECT JOB, COUNT(JOB)
FROM EMP
GROUP BY JOB

관리자의 수를 출력하되, 관리자 번호가 중복되지 않게하라. 그리고,
컬럼명을 Number of Manager로 지정하여 출력하라.

SELECT COUNT(DISTINCT(MGR)) AS "Number of Manager"
FROM EMP

최고 급여와 최저 급여의 차액을 출력하라.

SELECT MAX(SAL)-MIN(SAL) FROM EMP

관리자 번호 및 해당 관리자에 속한 사원들의 최저 급여를 출력하라.
단, 관리자가 없는 사원 및 최저 급여가 1000 미만인 그룹은 제외시키고 급여를 기준으로
출력 결과를 내림차순으로 정렬하라.

SELECT MGR, MIN(SAL)
FROM EMP
WHERE MGR IS NOT NULL
GROUP BY MGR
HAVING MIN(SAL)>=1000
ORDER BY MIN(SAL)

부서별로 부서이름, 부서위치, 사원 수 및 평균 급여를 출력하라.
그리고 각각의 컬럼명을 부서명,위치,사원의 수,평균급여로 표시하라.

SELECT E.DEPTNO AS "부서명", D.DNAME AS "부서이름", D.LOC AS "위치",
COUNT(E.EMPNO) AS "사원의 수", AVG(E.SAL) AS "평균급여"
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO
GROUP BY E.DEPTNO, D.DNAME, D.LOC

Smith와 동일한 부서에 속한 모든 사원의 이름 및 입사일을 출력하라.
단, Smith는 제외하고 출력하시오

SELECT ENAME, TO_CHAR(HIREDATE,'YYYY-MM-DD')
FROM EMP
WHERE DEPTNO IN(SELECT DEPTNO
FROM EMP
WHERE ENAME='SMITH')
AND ENAME!='SMITH'

자신의 급여가 평균 급여보다 많은 모든 사원의 사원 번호, 이름, 급여를
표시하는 질의를 작성하고 급여를 기준으로 결과를 내림차순으로 정렬하라.

SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE SAL>(SELECT AVG(SAL)
FROM EMP)
ORDER BY SAL DESC

이름에 T가 들어가는 사원의 속한 부서에서 근무하는 모든 사원의
사원번호 및 이름을 출력하라.

SELECT EMPNO, ENAME
FROM EMP
WHERE DEPTNO IN(SELECT DEPTNO
FROM EMP
WHERE ENAME LIKE '%T%')

부서위치가 Dallas인 모든 사원의 이름,부서번호 및 직위를 출력하라.

SELECT E.ENAME, E.DEPTNO, E.JOB
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO
AND D.LOC='DALLAS'

KING에게 보고하는 모든 사원의 이름과 급여를 출력하라.

SELECT ENAME, SAL
FROM EMP
WHERE MGR=(SELECT EMPNO
FROM EMP
WHERE ENAME='KING')

Sales 부서의 모든 사원에 대한 부서번호, 이름 및 직위를 출력하라.

SELECT E.DEPTNO, E.ENAME, E.JOB
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO
AND D.DNAME='SALES'

7. 국어,영어, 수학을 입력 받아(입력창으로), 총점과 평균을 출력(console 또는 document.write로)하시오.(예습)

단) 자바스크립트로 짜시오.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>

</head>
<body>
  <script>
      var Kor=parseFloat(prompt("국어 점수"))
      var Eng=parseFloat(prompt("영어 점수"))
      var Math=parseFloat(prompt("수학 점수"))

      var total=Kor+Eng+Math;
      var avg=total/3;

      console.log("총점: "+total);
      console.log("평균: "+avg.toFixed(2));

      document.write("<h2>총점과 평균</h2>");
      document.write("<p>총점: "+total+"</p>");
      document.write("<p>평균: "+avg.toFixed(2)+"</p>");

  </script>
</body>
</html>

0개의 댓글