

'small steps > 운동 - 체력이 국력' 카테고리의 다른 글
22.10.07 운동기록 (0) | 2022.10.07 |
---|---|
22.10.05 운동기록 (0) | 2022.10.05 |
22.10.02 운동기록 3대 가볍게 (0) | 2022.10.02 |
22.10.01 운동기록 (0) | 2022.10.01 |
22.09.30 운동기록 (0) | 2022.10.01 |
22.10.07 운동기록 (0) | 2022.10.07 |
---|---|
22.10.05 운동기록 (0) | 2022.10.05 |
22.10.02 운동기록 3대 가볍게 (0) | 2022.10.02 |
22.10.01 운동기록 (0) | 2022.10.01 |
22.09.30 운동기록 (0) | 2022.10.01 |
https://github.com/neverGiveUpppppp/Comento_SQL_Oracle
GitHub - neverGiveUpppppp/Comento_SQL_Oracle: 직무부트캠프 Comento
직무부트캠프 Comento. Contribute to neverGiveUpppppp/Comento_SQL_Oracle development by creating an account on GitHub.
github.com
- 추출조건 : 현재 재직중인 직원의 생년월일이 2012년 1월 1일 부터 2015년 12월 31일 인 자녀 모두추출.
- 추출조건2 : 쌍둥이의 경우 두명 모두 추출하고, 쌍둥이 여부에 ‘Y’ 표시 요망.
- 추출조건3 : 사내부부인 경우도 예외 없이 직원과 자녀를 모두 추출하고, 이 때 상대 배우자의 직원번호를 추출 요망.
- 추출 요청 컬럼 → 직원번호 / 직원성명 / 배우자성명 (사내부부일 때만) / 배우자직원번호 / 자녀성명 / 자녀성별 / 자녀생년월일 / 쌍생아여부
힌트
SELECT
EMP.EMP_NO AS 직원번호
,EMP.EMP_NM AS 직원성명
,-- --> ★★★ 배우자 직원번호 완성하세요!!
,FAM.FAM_NM AS 자녀성명
,FAM.GENDER_CD AS 자녀성별
,FAM.BIRTH_YMD AS 자녀생년월일
,-- --> ★★★ CASE WHEN을 사용하여 쌍둥이 여부를 표시해보세요.
FROM EMP_C EMP,
FAM_C FAM,
FAM_REL_C FAMR,
(
SELECT
TWIN1.EMP_NO
,TWIN1.FAM_NM AS TWIN1
,TWIN2.FAM_NM AS TWIN2
FROM
FAM_C TWIN1 , FAM_C TWIN2
WHERE TWIN1.EMP_NO = TWIN2.EMP_NO
AND TWIN1.REL_TYPE_CD = TWIN2.REL_TYPE_CD
AND TWIN1.REL_TYPE_CD = 'A27'
AND TWIN2.REL_TYPE_CD = 'A27'
AND TWIN1.FAM_NM <> TWIN2.FAM_NM-- 이름이 다른 조건
AND TWIN1.BIRTH_YMD = TWIN2.BIRTH_YMD -- 생년월일이 같을 조건
) TWIN
WHERE EMP.EMP_NO = FAM.EMP_NO
AND -- --> ★★★ 현재 재직자만 추출 되도록 조건을 넣으세요.
AND FAM.REL_TYPE_CD = 'A27'
AND -- --> ★★★ 2012년 1월 1일 부터 2015년 12월 31일 생년월일 조건을 넣으세요.
AND EMP.EMP_NO = FAMR.EMP_NO (+)
AND FAMR.REL_TYPE_CD (+) IN ('A02','A18')
AND EMP.EMP_NO = TWIN.EMP_NO (+)
AND FAM.FAM_NM = TWIN.TWIN1 (+)
;
조건 brainstorming
재직중 : RETIRE 99/12/31 조건
자녀 생년월일 2012.01.01~2015.12.31 : BETWEEN 20120101 AND 20151231
쌍둥이의 경우 두명 모두 추출 : FAM_C SELF JOIN FAM_NM을 F1,F2 따로 조회 및 조건에 NM <>추가
쌍둥이 여부 표시 'Y' : 리터럴 작성
사내부부의 경우, 상대 배우자의 직원번호 추출 : ?
조회 목록 : EMP_NO, EMP_NM, CASE(SPOUSE_EMP_NO 사내부부일때,일반일때), CHILD_NM, CHILD_GENDER, CHILD_BIRTH_YMD, TWIN_YN
(직원번호 / 직원성명 / 배우자성명 (사내부부일 때만) / 배우자직원번호 / 자녀성명 / 자녀성별 / 자녀생년월일 / 쌍생아여부)
--- 추출조건1
--- 현재 재직중인 직원의 생년월일이 2012년 1월 1일 부터 2015년 12월 31일 인 자녀 모두추출
SELECT *
FROM FAM_C
WHERE REL_TYPE_CD = 'A27'
AND BIRTH_YMD BETWEEN 20120101 AND 20151231
;
--- 추출조건2
--- 쌍둥이의 경우 두명 모두 추출하고, 쌍둥이 여부에 'Y' 표시 요망
SELECT F1.EMP_NO 직원번호, F1.FAM_NM 쌍둥이1, F2.FAM_NM 쌍둥이2, 'Y' "쌍둥이 여부"
FROM FAM_C F1
JOIN FAM_C F2 ON(F1.EMP_NO = F2. EMP_NO)
AND F1.FAM_NM <> F2.FAM_NM
AND F1.REL_TYPE_CD = 'A27'
AND F1.REL_TYPE_CD = F2.REL_TYPE_CD
AND F1.BIRTH_YMD = F2.BIRTH_YMD
;
--- 추출조건1 + 추출조건2
--- 현재 재직중인 직원의 생년월일이 2012년 1월 1일 부터 2015년 12월 31일 인 자녀 모두추출
--- 쌍둥이의 경우 두명 모두 추출하고, 쌍둥이 여부에 'Y' 표시 요망
SELECT *
FROM FAM_C
WHERE REL_TYPE_CD = 'A27'
AND BIRTH_YMD BETWEEN 20120101 AND 20151231
;
SELECT F1.EMP_NO 직원번호, F1.FAM_NM 쌍둥이1, F2.FAM_NM 쌍둥이2, 'Y' "쌍둥이 여부"
FROM FAM_C F1
JOIN FAM_C F2 ON(F1.EMP_NO = F2. EMP_NO)
AND F1.FAM_NM <> F2.FAM_NM
AND F1.REL_TYPE_CD = 'A27'
AND F1.REL_TYPE_CD = F2.REL_TYPE_CD
AND F1.BIRTH_YMD = F2.BIRTH_YMD
;
-- FROM절의 AND조건들을 WHERE절로 돌려서 넣으면 뭐가 다를까?
SELECT F1.EMP_NO 직원번호, F1.FAM_NM 쌍둥이1, F2.FAM_NM 쌍둥이2, 'Y' "쌍둥이 여부"
FROM FAM_C F1
JOIN FAM_C F2 ON(F1.EMP_NO = F2. EMP_NO)
WHERE F1.FAM_NM <> F2.FAM_NM
AND F1.REL_TYPE_CD = 'A27'
AND F1.REL_TYPE_CD = F2.REL_TYPE_CD
AND F1.BIRTH_YMD = F2.BIRTH_YMD
;
2) LISTAGG를 활용하여 직원번호가 10001483 인 자녀의 성명이 한줄로 추출 되도록 SQL을 작성해 보세요
HINT : LISTAGG 활용 --> https://gent.tistory.com/328
[1일1코딩][코딩테스트] 백준 14681번 : 사분면 고르기(not solved) (0) | 2022.10.09 |
---|---|
[1일1코딩][코딩테스트] 입력값 조건 받아서 받는 코드 (0) | 2022.10.08 |
[1일1코딩][Oracle] 문제풀이 : 쌍둥이 추출, 쌍둥이여부 'Y', 재직중인 직원의 특정 생년월일 자녀 구하기 (0) | 2022.10.02 |
[1일1코딩][Java] Collection Map 2st practice (1) | 2022.09.30 |
[1일1코딩][Java] switch문 + 다른 메소드 호출 (0) | 2022.09.29 |
재직중 : RETIRE 99/12/31 조건
자녀 생년월일 2012.01.01~2015.12.31 : BETWEEN 20120101 AND 20151231
쌍둥이의 경우 두명 모두 추출 : FAM_C SELF JOIN FAM_NM을 F1,F2 따로 조회 및 조건에 NM <>추가
쌍둥이 여부 표시 'Y' : 리터럴 작성
사내부부의 경우, 상대 배우자의 직원번호 추출 : ?
조회 목록 : EMP_NO, EMP_NM, CASE(SPOUSE_EMP_NO 사내부부일때,일반일때), CHILD_NM, CHILD_GENDER, CHILD_BIRTH_YMD, TWIN_YN
(직원번호 / 직원성명 / 배우자성명 (사내부부일 때만) / 배우자직원번호 / 자녀성명 / 자녀성별 / 자녀생년월일 / 쌍생아여부)
--1)아래와 같이 최종 결과를 추출하는 sql을 작성해보세요
--이미 70% 정도 짜여진 SQL을 완성하세요. (SQL DEVELOPER에 다음 장에 있는 SQL을 붙여넣기 하여 실행하시면서 최종 SQL을 작성해보세요.
--- 추출조건1 : 현재 재직중인 직원의 생년월일이 2012년 1월 1일 부터 2015년 12월 31일 인 자녀 모두추출
--- 추출조건2 : 쌍둥이의 경우 두명 모두 추출하고, 쌍둥이 여부에 ‘Y’ 표시 요망
--- 추출조건3 : 사내부부인 경우도 예외 없이 직원과 자녀를 모두 추출하고, 이 때 상대 배우자의 직원번호를 추출 요망
--- 추출 요청 컬럼 → 직원번호 / 직원성명 / 배우자성명 (사내부부일 때만) / 배우자직원번호 / 자녀성명 / 자녀성별 / 자녀생년월일 / 쌍생아여부
-- 조건 brainstorming
-- 재직중 : RETIRE 99/12/31 조건
-- 자녀 생년월일 2012.01.01~2015.12.31 : BETWEEN 20120101 AND 20151231
-- 쌍둥이의 경우 두명 모두 추출 : FAM_C SELF JOIN FAM_NM을 F1,F2 따로 조회 및 조건에 NM <>추가
--쌍둥이 여부 표시 'Y' : 리터럴 작성
-- 사내부부의 경우, 상대 배우자의 직원번호 추출
-- 조회 목록 : EMP_NO, EMP_NM, CASE(SPOUSE_EMP_NO 사내부부일때,일반일때), CHILD_NM, CHILD_GENDER, CHILD_BIRTH_YMD, TWIN_YN
--(직원번호 / 직원성명 / 배우자성명 (사내부부일 때만) / 배우자직원번호 / 자녀성명 / 자녀성별 / 자녀생년월일 / 쌍생아여부)
--- 추출조건1
--- 현재 재직중인 직원의 생년월일이 2012년 1월 1일 부터 2015년 12월 31일 인 자녀 모두추출
SELECT *
FROM FAM_C
WHERE REL_TYPE_CD = 'A27'
AND BIRTH_YMD BETWEEN 20120101 AND 20151231
;
--- 추출조건2
--- 쌍둥이의 경우 두명 모두 추출하고, 쌍둥이 여부에 ‘Y’ 표시 요망
SELECT F1.EMP_NO 직원번호, F1.FAM_NM 쌍둥이1, F2.FAM_NM 쌍둥이2, 'Y' "쌍둥이 여부"
FROM FAM_C F1
JOIN FAM_C F2 ON(F1.EMP_NO = F2. EMP_NO)
AND F1.FAM_NM <> F2.FAM_NM
AND F1.REL_TYPE_CD = 'A27'
AND F1.REL_TYPE_CD = F2.REL_TYPE_CD
AND F1.BIRTH_YMD = F2.BIRTH_YMD
;
[1일1코딩][코딩테스트] 입력값 조건 받아서 받는 코드 (0) | 2022.10.08 |
---|---|
[1일1코딩][Oracle] 직무부트캠프 comento 4주차 과제 : 추출조건1~2 (0) | 2022.10.03 |
[1일1코딩][Java] Collection Map 2st practice (1) | 2022.09.30 |
[1일1코딩][Java] switch문 + 다른 메소드 호출 (0) | 2022.09.29 |
[1일1코딩][Java] 백준 practice Step2-2 9498번 : 시험 성적 practice (0) | 2022.09.28 |
22.10.05 운동기록 (0) | 2022.10.05 |
---|---|
22.10.03 운동기록 (0) | 2022.10.03 |
22.10.01 운동기록 (0) | 2022.10.01 |
22.09.30 운동기록 (0) | 2022.10.01 |
22.09.29 운동기록 (0) | 2022.09.29 |
22.10.03 운동기록 (0) | 2022.10.03 |
---|---|
22.10.02 운동기록 3대 가볍게 (0) | 2022.10.02 |
22.09.30 운동기록 (0) | 2022.10.01 |
22.09.29 운동기록 (0) | 2022.09.29 |
22.09.28 운동기록 (0) | 2022.09.28 |
22.10.02 운동기록 3대 가볍게 (0) | 2022.10.02 |
---|---|
22.10.01 운동기록 (0) | 2022.10.01 |
22.09.29 운동기록 (0) | 2022.09.29 |
22.09.28 운동기록 (0) | 2022.09.28 |
22.09.27 운동기록 (0) | 2022.09.27 |
Properties prop = new Properties();
key와 value를 String으로 제한시켜놓은 Map구조의 컬렉션
Properties prob = new Properties();
prob.setProperty("ㄱ","1");
prob.setProperty("ㄴ","2");
System.out.println(prob.getProperty("ㄱ","1")); // 1 : getProperty 밸류값1을 반환
System.out.println(prob.get("ㄱ")); // 1 : get()은 키값으로 밸류값 가져옴
System.out.println(prob.contains("ㄱ")); // false
HashMap
1.put(K key, V value):V
// put(K key, V value):V
// 반환타입 : value
HashMap hMap = new HashMap();
hMap.put("ㄱ",1);
hMap.put("ㄱㄱ","1");
System.out.println(hMap); // {ㄱ=1, ㄱㄱ=1}
System.out.println(hMap.put("ㄴ",2)); // null
System.out.println(hMap); // {ㄱ=1, ㄴ=2, ㄱㄱ=1}
2.containsKey(Object key)
키나 값이 들어가 있는지를 확인하는 메소드
// containsKey(Object key):boolean
// containsValue(Object value):boolean
hMap.containsKey("ㄴ");
System.out.println(hMap.containsKey("ㄴ")); // true
3.get()
key값에 맞는 'value값 반환'
// get(Object key) : v
// key값에 맞는 'value값 반환'
System.out.println(hMap.get("ㄴ")); // 2 : ㄴ키에 밸류인 2가 반환된 것
전체코드
// Properties prop = new Properties();
// key와 value를 String으로 제한시켜놓은 Map구조의 컬렉션
Properties prob = new Properties();
prob.setProperty("ㄱ","1");
prob.setProperty("ㄴ","2");
System.out.println(prob.getProperty("ㄱ","1")); // 1 : getProperty 밸류값1을 반환
System.out.println(prob.get("ㄱ")); // 1 : get()은 키값으로 밸류값 가져옴
System.out.println(prob.contains("ㄱ")); // false
// 1.HashMap
// put(K key, V value):V
// 반환타입 : value
HashMap hMap = new HashMap();
hMap.put("ㄱ",1);
hMap.put("ㄱㄱ","1");
System.out.println(hMap); // {ㄱ=1, ㄱㄱ=1}
System.out.println(hMap.put("ㄴ",2)); // null
System.out.println(hMap); // {ㄱ=1, ㄴ=2, ㄱㄱ=1}
// 2.containsKey(Object key)
// 키나 값이 들어가 있는지를 확인하는 메소드
// containsKey(Object key):boolean
// containsValue(Object value):boolean
hMap.containsKey("ㄴ");
System.out.println(hMap.containsKey("ㄴ")); // true
// 3.get()
// get(Object key) : v
// key값에 맞는 'value값 반환'
System.out.println(hMap.get("ㄴ")); // 2 : ㄴ키에 밸류인 2가 반환된 것
// 4-1.remove(Object key):V
// 4-2.remove(Object key, Object value):default boolean
System.out.println(hMap); // {ㄱ=1, ㄴ=2, ㄱㄱ=1}
System.out.println(hMap.remove("ㄴ")); // 2 : 지운 키의 밸류값 반환
System.out.println(hMap.remove("ㄱㄱ","1")); // true
// 5.keySet() & entrySet()
// keySet()
// keySet():Set<K>
// 맵에 있는 key들을 set에 담아 반환
System.out.println("keySet() : "+hMap.keySet()); // [ㄱ]
// set의 []를 빼고 값을 뽑고 싶다면?
// size():int
System.out.println(hMap.size()); // 1
// TreeMap
// 정렬 가능
// putAll()
// putAll(Map<? extends K,? extends V> m):void
// 다른 맵의 값을 추가
TreeMap<String, Snack> treeMap = new TreeMap<>(hMap);
treeMap.put("ㄴㄴ",new Snack("맛1",100));
treeMap.put("ㄷㄷ",new Snack("맛2",200));
System.out.println(treeMap);
// {ㄱ=1, ㄴㄴ=Snack{flavor='맛1', price=100}, ㄷㄷ=Snack{flavor='맛2', price=200}}
// remove(Object key):V
// remove(Object key, Object value):boolean
System.out.println(treeMap.remove("ㄱ")); // 1
System.out.println(treeMap.remove("ㄷㄷ",new Snack("맛2",200))); // true
// replace(K key, V oldValue, V newValue):boolean
treeMap.replace("ㄴㄴ",new Snack("맛1",100),new Snack("맛11",1000));
System.out.println(treeMap); // {ㄴㄴ=Snack{flavor='맛11', price=1000}}
[1일1코딩][Oracle] 직무부트캠프 comento 4주차 과제 : 추출조건1~2 (0) | 2022.10.03 |
---|---|
[1일1코딩][Oracle] 문제풀이 : 쌍둥이 추출, 쌍둥이여부 'Y', 재직중인 직원의 특정 생년월일 자녀 구하기 (0) | 2022.10.02 |
[1일1코딩][Java] switch문 + 다른 메소드 호출 (0) | 2022.09.29 |
[1일1코딩][Java] 백준 practice Step2-2 9498번 : 시험 성적 practice (0) | 2022.09.28 |
[1일1코딩][Oracle] 직무부트캠프 comento 3주차 과제 : 3-1)~4)번 (0) | 2022.09.27 |
2753번: 윤년
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서
www.acmicpc.net
// brain Storming
// 조건
// 윤년 == 4의배수인 연도 중 100의 배수가 아닌 연도 or 400의 배수인 연도
// 4의 배수이면서 100의 배수가 아님 : (year%4 == 0) and !(year%100 == 0)
4배수인지를 구하는 방법은 num%4를 해서 나머지가 0이 나오면 해당 배수이고 다른 수가 나오면 4의 배수가 아니다
그렇기에 year%4 == 0이면 이라는 조건과 동시에 100의 배수가 아니어야 하기에 &&(and)조건으로 100의 배수가 아닌 조건 !(year%100 == 0)을 주어서 윤년을 구했고
마찬가지로 400의 배수도 year%400 == 0으로 구했다
이외의 나머지 else는 전부 평년
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int year = Integer.parseInt(br.readLine());
if(((year%4 == 0) && !(year%100 == 0))){
System.out.println("1");
}else if(year%400 == 0){
System.out.println("1");
}else{
System.out.println("0");
}
}
}
[코딩테스트][백준] Step2-5 2884번 : 알람 시계 (0) | 2022.11.11 |
---|---|
[코딩테스트][백준] Step2-4 14681번 : 사분면 고르기 (0) | 2022.10.10 |
[코딩테스트][백준] Step1-10 3003번 : 킹, 퀸, 룩, 비숍, 나이트, 폰(feat.약간 다른 로직) (0) | 2022.09.29 |
[코딩테스트][백준] Step2-1 1330번 : 두 수 비교하기(feat.BufferedReader+StringTokenizer) (1) | 2022.09.29 |
[코딩테스트][백준] Step2-2 9498번 : 시험 성적 (0) | 2022.09.27 |
22.10.01 운동기록 (0) | 2022.10.01 |
---|---|
22.09.30 운동기록 (0) | 2022.10.01 |
22.09.28 운동기록 (0) | 2022.09.28 |
22.09.27 운동기록 (0) | 2022.09.27 |
22.09.26 운동기록 (0) | 2022.09.26 |
입력 받은 수가 짝수면 짝수라는 문구를 출력하는 메소드를 호출
입력 받은 수가 홀수면 홀수라는 문구를 출력하는 메소드를 호출
※ 홀짝 구하는 로직은 2로 나눈 나머지가 0이면 짝수 1이면 홀수이다
나중에 메뉴 주문 프로그램을 만든다면 저 홀짝 메소드 안에는 더 많은 코드와 함께 기능들이 들어갈 수 있게 되는 것
응용!
전체 코드
Scanner sc = new Scanner(System.in);
public void switch01() {
System.out.println("정수 입력 : ");
int num = sc.nextInt();
int lastNum = num % 2;
switch(lastNum) { // switch조건문 안에는 정수,문자,문자열 3가지 가능
case 0 : even(); break;
case 1 : odd(); break;
default : System.out.println("잘못입력");
}
}
private void even() {
System.out.println("짝수입니다");
}
private void odd() {
System.out.println("홀수입니다");
}
[1일1코딩][Oracle] 문제풀이 : 쌍둥이 추출, 쌍둥이여부 'Y', 재직중인 직원의 특정 생년월일 자녀 구하기 (0) | 2022.10.02 |
---|---|
[1일1코딩][Java] Collection Map 2st practice (1) | 2022.09.30 |
[1일1코딩][Java] 백준 practice Step2-2 9498번 : 시험 성적 practice (0) | 2022.09.28 |
[1일1코딩][Oracle] 직무부트캠프 comento 3주차 과제 : 3-1)~4)번 (0) | 2022.09.27 |
[1일1코딩][Java] 세자리 숫자의 곱셈 과정의 수 구하기 (0) | 2022.09.26 |