--[문제1] 사원들의 연봉을 구한 후 연봉 순으로 내림차순 정렬하시오
select first_name||' ' ||last_name as 이름, salary as 연봉 from employees order by salary desc;
--[문제2] 사원의 레코드를 검색하시오(concat, length)
1)이름,성 연결(concat) 2)이름의 길이(length) 3) 성이 n으로 끝나는(substr)
select employee_id as 사원번호,
concat(first_name||' ', last_name) as 이름,
length(concat(first_name||' ', last_name)) as 길이
from employees
where substr(last_name,length(last_name)) = 'n';
--마지막 글자를 비교하는 경우 length를 사용하는 것 보다 -1을 이용하는 게 더 직관적이고 쉽다
--[문제3] 오늘부터 이번 달 말까지 총 남은 날수를 구하시오
select to_char(last_day(sysdate), 'dd') - to_char(sysdate, 'dd') as "이번 달 남은 날" from dual;
select last_day(sysdate)-sysdate||'일' as "이번달 남은 일수" from dual;
--[문제4] 2005년 이전에 고용된 사원을 찾으시오
select first_name||' '||last_name as 이름,
to_char(hire_date, 'yyyy"년"') as 입사연도
from employees
where to_char(hire_date, 'yy') < '05'
order by hire_date;
--[문제5] 커미션(commission_pct)을 받지 않은 사원의 인원수를 구하시오
select DISTINCT count(employee_id) as "커미션 없는 사원 수" from employees where commission_pct is null;
--[문제6] 급여가 10000미만이면 초급, 20000미만이면 중급 그 외면 고급을 출력하시오 (case 사용)
-- 조건1) 컬럼명은 '구분'으로 하시오
-- 조건2) 제목은 사원번호, 사원명, 구 분으로 표시하시오
-- 조건3) 구분(오름차순)으로 정렬하고, 같으면 사원명(오름차순)으로 정렬하시오
select employee_id as 사원번호,
first_name||' '||last_name as 사원명,
case
when salary > 0 and salary < 10000 then '초급'
when salary >= 10000 and salary < 20000 then '중급'
else '고급'
end "구분"
from employees
order by 3,2 ;
20200528 order by 3,2 추가. 스샷은 반영하지 않음
--[문제7] 사원테이블에서 사원번호, 이름, 급여, 커미션, 연봉을 출력하시오
-- 조건1) 연봉은 $ 표시와 세자리마다 콤마를 사용하시오
-- 조건2) 연봉 = 급여 * 12 + (급여 * 12 * 커미션)
-- 조건3) 커미션을 받지 않는 사원도 포함해서 출력하시오
select employee_id as 사원번호, first_name||' '||last_name as 이름,
to_char(salary, '$9,999,999') as 급여, commission_pct as 커미션, salary*12 as 연봉,
case
when commission_pct is null then salary*12
when commission_pct is not null then salary*12+salary*12*commission_pct
end "커미션 포함 연봉"
from employees;
더 나은 강사님의 sql문
select employee_id as 사원번호, first_name||' '||last_name as 이름,
to_char(salary, '$9,999,999') as 급여, nvl(commission_pct, 0) as 커미션,
to_char(salary*12+salary*12*nvl(commission_pct, 0), '$9,999,999') as 연봉
from employees;
내 코드는 null 값엔 임의의 값을 넣고 처리하는 nvl을 모른 채로 진행했던 터라 더 길다
--[문제8] 매니저가 없는 사원의 매니저id를, 1000번으로 표시 1) 제목은 사원번호, 이름, 매니저ID 2) 모든 사원 표시
select employee_id as 사원번호, first_name||' '||last_name as 이름,
case
when manager_id is null then 1000
when manager_id is not null then 100
end "매니저ID"
from employees;
더 나은 강사님의 sql문 : 역시나 nvl을 활용해 더 간단하다
select employee_id as 사원번호,
first_name||' '||last_name as 이름,
nvl(manager_id, 1000) as 매니저ID
from employees;
-----------------------------------------------------------------------------------------------------------------
SQL length 와 lengthb 의 차이 : length는 글자수 세기 lengthb는 바이트를 센다
char(20)과 varchar2(20) 의 차이 : char 는 남은 메모리를 반환하지 않고 varchar2는 반환한다
char20 varchar2(20)
angel angel
사천사 사천사
1.1 length 하면 20
1.2 length 하면 5
2.1 length 하면 14 (한글 한 글자당 3바이트 를 20에서 뺀 다음 한글 글자수 + 남은 바이트 수 : 3 + (20-3*3) )
2.2 length 하면 3
1.1 lengthb 하면 20
1.2 lengthb 하면 5
2.1 lengthb 하면 20
2.2 lengthb 하면 9
-----------------------------------------------------------------------------------------------------------------
자바스크립트
<script>안에 넣어둔다
public void와 같은 접근제한자와 리턴타입 없이 그냥 function 쓴다
자료형이 없어서 a = 25 이후 a = 사과 해도 된다
문장 구분인 ;을 생략 가능하다
그러나 한 줄에 여러 문장을 쓸 경우엔 생략 불가하다
var, let, const
var는 변수 재선언, 변수 재할당 모두 가능 - 재선언이 가능한 점이 자바와 다르다
let은 변수 재선언 불가, 변수 재할당 가능 - 일반 자바랑 같넹?
const는 변수 재선언 불가, 변수 재할당 불가 - 그럼 얘는 파이널이네?
자바 : this = cmd : . = javascript : document
------------------------------------------------------------------------------------------------------
이클립스 EE
Windows - Preferences - Server - Runtime Environment - Add - Tomcat 9.0 - 경로설정 - Finish
Windows - Show View - Server - Tomcat 9.0 더블클릭 - 우측 Ports 에 Tomcat admin port 8005 입력
Ctrl + Alt + R 누르면 서버 실행. 실행중이면 재실행
Windows - Preferences - Workspace - UTF-8
Windows - Preferences - Web - CSS Files, HTML Files, JSP FIles 셋 모두 UTF-8로 설정 변경
1. new Project - Web - Dynamic Web Project
2. 이클립스에서는 프로젝트, 톰캣에선 컨텍스트의 컨셉이다
3. Target runtime : Apache Tomcat v9.0
4. Dynamic web module version 4.0
5. Next - Next - Generate web.xml 체크하고 Finish
프로젝트에서 Java Resources 는 자바가 보관되고
WebContent 에는 Web 관련 내용이 보관된다. html과 WEB-INF가 있다
Tomcat 우클릭 - Add and remove - Available에 있는 프로젝트를 클릭하고 우측으로 추가하고 Finish
Tomcat 폴더에서 server.xml 더블클릭 - 하단에 Source 클릭 후 맨아래로 내려오면 Context에 추가한 프로젝트가 보임
WebContent 폴더 안에 member라는 폴더 생성
member 폴더 우클릭 new html writeForm.html
Ctrl + F11 로 실행 가능 Windows - Web browser 에서 브라우저 선택 가능
회원가입 html 페이지.
-placeholder 로 필드에 입력전 안내문구 설정
-readonly 로 읽기만 가능하게. disabled 하면 데이터를 불러올 수도 없음
-카카오 주소 찾기 api 탑재
https://codepen.io/hj-rich/pen/Baoewya
톰캣과 이클립스를 연동하고,
일반 프로젝트가 아닌 Dynamic Web Project로 생성하여
xml 설정, html 작성, javascript 작성을 처리했다.
api를 처음 배운 날이다.
진행한 내용이 많아서 집에가서 같은 작업을 다시 해 보면서 영상을 찍었다.
'Database' 카테고리의 다른 글
SQL 2020-06-08 : rownum, subquery, ceil, view (0) | 2020.06.08 |
---|---|
SQL Union, lombok적용, github octotree+t+netlify - 2020-06-02 (0) | 2020.06.02 |
SQL 예제 4일차, 로그인&회원가입- 2020-05-29 (0) | 2020.05.29 |
SQL 예제 3일차, html -> javascript -> java서블릿 응답 - 2020-05-28 (0) | 2020.05.28 |
오라클 hr계정 SQL문 예제, Servlet Context 생성 - 2020-05-26 (2) | 2020.05.26 |