본문 바로가기
오라클 게시판/오라클(Oracle)

SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 (SQL, Pandas, R Prog, Dplyr, Dfply, SQLDF, PANDASQL, DATA.TABLE, SAS, Proc Sql)

by 기서무나구물 2021. 7. 10.

포스팅 목차

    * 파이썬 & R 패키지 호출 및 예제 데이터 생성 링크

     


     

    1. Display the dept information from department table.[Link]

    • 부서정보(DEPT) 테이블에서 부서 정보를 출력하시오.
    • 데이터세트(테이블) 출력
      • Oracle : select 구문
      • 파이썬 Pandas : 데이터프레임 출력
      • R 프로그래밍 : 데이터프레임 출력
      • R Dplyr Package : print()
      • R sqldf Package : select 구문
      • Python pandasql Package : select 구문
      • R data.table Package : Data.table 변환 및 출력
      • SAS Proc SQL : Select 구문
      • SAS Data Step : Proc Print
      • Python Dfply Package : display 구문
      • 파이썬 Base 프로그래밍 :

     


     

    2. Display the details of all employees. [Link]

    • 사원정보(EMP)에서 모든 직원의 정보를 출력하시오.
    • 데이터세트(테이블) 출력
      • Oracle : select 구문
      • 파이썬 Pandas : display 구문
      • R 프로그래밍 : print 구문
      • R Dplyr Package : print()
      • R sqldf Package : select 구문
      • Python pandasql Package : select 구문
      • R data.table Package : Data.table 변환 및 출력
      • SAS Proc SQL : Select 구문
      • SAS Data Step : Proc Print
      • Python Dfply Package : display 구문
      • 파이썬 Base 프로그래밍 :

     


     

    3. Display the name and job for all employees. [Link]

    • 등록된 직원의 이름과 직무를 출력하시오.
    • [변수 선택] 특정 변수를 지정하여서 출력
      • Oracle : select 구문
      • 파이썬 Pandas : 열 인덱싱 [,]
      • R 프로그래밍 : 열 인덱싱 [,]
      • R Dplyr Package : Select 구문
      • R sqldf Package : select 구문
      • Python pandasql Package : select 구문
      • R data.table Package : 열 인덱싱 [,]
      • SAS Proc SQL : Select 구문
      • SAS Data Step : Proc Print , Keep 구문
      • Python Dfply Package : select 구문
      • 파이썬 Base 프로그래밍 :

     


     

    4. Display name and salary for all employees.

    • 근무하는 모든 직원의 이름과 급여를 출력하시오.
    • [변수 선택] 특정 변수를 지정하여서 출력
      • Oracle : select 구문
      • 파이썬 Pandas : 열 인덱싱 [,]
      • R 프로그래밍 : 열 인덱싱 [,]
      • R Dplyr Package : Select 구문
      • R sqldf Package : select 구문
      • Python pandasql Package : select 구문
      • R data.table Package : 열 인덱싱 [,]
      • SAS Proc SQL : Select 구문
      • SAS Data Step : Proc Print의 By 구문 , Keep 구문
      • Python Dfply Package : select 구문
      • 파이썬 Base 프로그래밍 :

     


     

    5. Display employee number and total salary for each employee. [Link]

    • 개별 직원의 사원명과 수수료를 고려한 급여를 출력하시오.
    • [변수 생성] 신규 변수를 생성하여 출력
      • Oracle : select 구문
      • 파이썬 Pandas : 열 생성
      • R 프로그래밍 : 열 생성
      • R Dplyr Package : mutate 구문
      • R sqldf Package : select 구문
      • Python pandasql Package : select 구문
      • R data.table Package : 열 생성
      • SAS Proc SQL : Select 구문
      • SAS Data Step : 변수 생성
      • Python Dfply Package : mutate 구문
      • 파이썬 Base 프로그래밍 :

     


     

    6. Display employee name and annual salary for all employees. [Link]

    • 모든 직원에 대한 사원명과 1년 연봉을 출력하시오.
    • [변수 생성 & 결측치 대체] 결측치 대체 후 신규 변수 생성
      • Oracle : nvl 함수, select 구문
      • 파이썬 Pandas : replace 함수, 열 생성
      • R 프로그래밍 : ifelse 함수, replace_na 함수, 열 생성
      • R Dplyr Package : ifelse 함수, mutate 구문
      • R sqldf Package : ifnull 함수, select 구문
      • Python pandasql Package : ifnull 함수, select 구문
      • R data.table Package : ifelse 함수, 열 생성
      • SAS Proc SQL : coalesce 함수, ifn 함수, Select 구문
      • SAS Data Step : coalesce 함수, ifn 함수, 변수 생성
      • Python Dfply Package : replace 함수, mutate 구문
      • 파이썬 Base 프로그래밍 :

     


     

    7. Display the names of all employees who are working in department number 10. [Link]

    • 부서번호 10에 근무하는 직원들의 이름을 출력하시오.
    • [관측치 선택] 조건문을 만족하는 관측치 출력
      • Oracle : where 구문
      • 파이썬 Pandas : 행 인덱싱, query 구문
      • R 프로그래밍 : 행 인덱싱, which 구문, subset 구문
      • R Dplyr Package : filter 구문
      • R sqldf Package : where 구문
      • Python pandasql Package : where 구문
      • R data.table Package : 행 인덱싱
      • SAS Proc SQL : where 구문
      • SAS Data Step : where 구문, IF 구문
      • Python Dfply Package : filter_by 구문
      • 파이썬 Base 프로그래밍 :

     


     

    8. Display the names of all employees working as clerks and drawing a salary more than 3000. [Link]

    • 판매직 직원 중에서 3000 이상 급여를 수령하는 직원들의 이름을 출력하시오.
    • [관측치 선택] 복수의 조건문을 만족하는 관측치 출력
      • Oracle : where 구문
      • 파이썬 Pandas : 행 인덱싱, query 구문
      • R 프로그래밍 : 행 인덱싱, which 구문, subset 구문
      • R Dplyr Package : filter 구문
      • R sqldf Package : where 구문
      • Python pandasql Package : where 구문
      • R data.table Package : 행 인덱싱
      • SAS Proc SQL : where 구문
      • SAS Data Step : where 구문, IF 구문
      • Python Dfply Package : filter_by 구문, mask 구문
      • 파이썬 Base 프로그래밍 :

     


     

    9. Display employee number and names for employees who earn commission. [Link]

    • 커미션이 지급되는 직원에 대한 사원번호와 사원명을 출력하시오.
    • [관측치 & 변수 선택] 조건문을 만족하는 관측치 선택 후 특정 변수 출력
      • Oracle : where 구문, is not null 연산자
      • 파이썬 Pandas : 행 인덱싱, query 구문, notnull() 함수
      • R 프로그래밍 : 행 인덱싱, which 구문, subset 구문, is.na() 함수, which() 함수
      • R Dplyr Package : filter 구문
      • R sqldf Package : where 구문
      • Python pandasql Package : where 구문
      • R data.table Package : 행 인덱싱, is.na() 함수
      • SAS Proc SQL : where 구문
      • SAS Data Step : where 구문, IF 구문
      • Python Dfply Package : filter_by 구문, mask 구문, notnull() 함수
      • 파이썬 Base 프로그래밍 :

     


     

    10. Display names of employees who do not earn any commission. [Link]

    • 커미션이 지급되지 않는 직원들의 이름을 출력하시오.
    • [Or 연산자] Null 데이터 선택과 Or 연산자
      • Oracle : where 구문, is null, Or 연산자
      • 파이썬 Pandas : 슬라이싱(Slicing), .loc, isnull(), Or 연산자(|)
      • R 프로그래밍 : query() 구문, isnull(), Or 연산자(|)
      • R Dplyr Package : 슬라이싱(Slicing), which 구문, Or 연산자(|), is.na
      • R sqldf Package : where 구문, is null, Or 연산자
      • Python pandasql Package : where 구문, is null, Or 연산자
      • R data.table Package : 슬라이싱(Slicing), is.na, Or 연산자
      • SAS Proc SQL : where 구문, Or 연산자
      • SAS Data Step : where 구문, IF 조건문, Or 연산자
      • Python Dfply Package : filter_by, mask 구문, isnull()
      • 파이썬 Base 프로그래밍 :

     


     

    11. Display the names of employees who are working as clerk, salesman or analyst and drawing a salary more than 3000. [Link]

    • 판매직, 영업직 또는 분석직 직무를 수행하고 3000 이상의 급여를 수령하는 직원들의 이름을 출력하시오.
    • [다중 OR / AND 연산자] 복수의 OR 연산자와 AND 연산자
      • Oracle : where 구문, OR/AND 연산자
      • 파이썬 Pandas : 슬라이싱(Slicing), .loc, .query 구문, isin(), & 연산자, in 연산자
      • R 프로그래밍 : 슬라이싱(Slicing), subset() 구문, which 함수, %in% 연산자, & 연산자
      • R Dplyr Package : filter() 함수, %in% 연산자, & 연산자
      • R sqldf Package : where 구문, in 연산자, AND 연산자
      • Python pandasql Package : where 구문, in 연산자, AND 연산자
      • R data.table Package : 슬라이싱(Slicing), %in%, &연산자
      • SAS Proc SQL : where 구문, Or 연산자, and 연산자
      • SAS Data Step : where 구문, IF 조건문, Or 연산자, and 연산자
      • Python Dfply Package : filter_by, isin 연산자
      • 파이썬 Base 프로그래밍 :

     


     

    12. Display the names of employees who are working in the company for the past 5 years. [Link]

    • 39년 이상 근속한 직원들의 이름을 출력하시오.
    • [날짜 데이터] 근속 기간 계산 후 데이터 필터 - 현재 날짜, 날짜 기간 차이 계산
      • Oracle : sysdate
      • 파이썬 Pandas : 날짜 형변환, pd.to_datetime(), datetime.strptime, relativedelta.relativedelta, now.date(), datetime.datetime.utcnow(), pd.Timestamp.now(), .query 구문
      • R 프로그래밍 : Sys.Date(), difftime 함수, as.numeric
      • R Dplyr Package : filter 구문, Sys.Date()
      • R sqldf Package : 날짜 인수, sprintf, Sys.Date(), strftime 함수, 파라미터 처리, gsubfn 패키지(gsubfn::fn$sqldf) 외부 변수 참조
      • Python pandasql Package : format 구문, 반복구문 처리, 형변환(cast 함수), 날짜 형변환
      • R data.table Package : Sys.Date()
      • SAS Proc SQL : TODAY() 함수, datdif 함수
      • SAS Data Step : TODAY() 함수, datdif 함수
      • Python Dfply Package : filter_by, 사용자함수 정의, pd.Timestamp.now(), to_datetime 함수, make_symbolic 함수
      • 파이썬 Base 프로그래밍 :

     


     

    13. Display the list of employees who have joined the company before 30th June 90 or after 31st dec 90. [Link]

    • 1981년 1월 09일부터 1981년 11월 17일 사이에 입사한 직원들의 정보를 출력하시오.
    • [데이터 필터] 지정한 날짜에 속하는 데이터 추출
      • Oracle : 날짜를 문자형 날짜로 변환(TO_CHAR), between 연산자
      • 파이썬 Pandas : between 연산자, .query() 구문
      • R 프로그래밍 : & 연산자, which 함수, subset() 구문
      • R Dplyr Package : filter() 함수, as.Date() 함수, between 함수
      • R sqldf Package : as.numeric() 함수, gsubfn::fn$sqldf - 외부 변수 참조, strftime() 함수, 날짜형 데이터를 문자형 날짜로 변환
      • Python pandasql Package : between 연산자
      • R data.table Package : 슬라이싱(Slicing)
      • SAS Proc SQL : between 연산자
      • SAS Data Step : between 연산자, put() 함수
      • Python Dfply Package : filter_by() 함수, mask() 함수, between() 함수
      • 파이썬 Base 프로그래밍 :

     


     

    14. Display current date. [Link]

    • 현재 날짜를 출력하시오.
    • [데이터 필터] 현재 날짜를 출력하기 위한 다양한 방법 구현
      • Oracle : sysdate, to_char
      • 파이썬 Pandas : datetime.now(), datetime.today, time.time(), time.strftime(), time.localtime() 함수
      • R 프로그래밍 : Sys.Date(), lubridate::today() 함수
      • R Dplyr Package :
      • R sqldf Package : strftime 함수, now
      • Python pandasql Package : strftime() 함수, date() 함수, now
      • R data.table Package :
      • SAS Proc SQL : TODAY() 함수, put 함수
      • SAS Data Step : TODAY() 함수, put 함수
      • Python Dfply Package : mutate 함수, datetime.now(),datetime.today(), to_datetime(), .astype(), strftime() 함수
      • 파이썬 Base 프로그래밍 :

     


     

    18. Display the names of employees working in department number 10 or 20 or 40 or employees working as clerks, salesman or analyst. [Link]

    • 부서번호 10, 20, 40에 근무하거나 판매직, 영업직, 분석직으로 근무하고 있는 직원들의 이름을 출력하시오.
    • [데이터 필터링] 복수의 OR 연산자
      • Oracle : in 연산자, Or 연산자
      • 파이썬 Pandas : isin 연산자, or(|) 연산자, .loc, .query() 구문
      • R 프로그래밍 : %in% 연산자, or(|) 연산자, which() 함수, subset() 함수
      • R Dplyr Package : filter() 구문, %in% 연산자
      • R sqldf Package : in 연산자, Or 연산자
      • Python pandasql Package : in 연산자, Or 연산자
      • R data.table Package : %in% 연산자, or(|) 연산자
      • SAS Proc SQL : in 연산자, Or 연산자
      • SAS Data Step : in 연산자, Or 연산자
      • Python Dfply Package : filter_by(), or(|) 연산자
      • 파이썬 Base 프로그래밍 : mask(), or(|) 연산자

     


     

    19. Display the names of employees whose name starts with alphabet S. [Link]

    • 직원명이 알파벳 'S'로 시작하는 직원의 이름을 출력하시오.
    • [문자열 검색(접두어) 및 문자열 함수] 특정 문자열이 포함된 데이터 추출
      • Oracle : like, substr 함수
      • 파이썬 Pandas : str.startswith(), str.endswith(), str.contains() 함수, .query() 구문
      • R 프로그래밍 : startsWith(), subset() 구문
      • R Dplyr Package : startsWith(), filter() 구문, str_detect() 함수, grepl() 문자열 함수, filter_all, any_vars, str_detect() 함수
      • R sqldf Package : like 연산자
      • Python pandasql Package : like 연산자
      • R data.table Package : %like% 연산자, grepl() 함수
      • SAS Proc SQL : like 연산자, substr 함수
      • SAS Data Step : like 연산자, substr 함수
      • Python Dfply Package : filter_by() 구문, mask() 구문, startswith() 함수,
      • 파이썬 Base 프로그래밍 :

     


     

    20. Display employee names for employees whose name ends with alphabet. [Link]

    • 직원명이 알파벳 'S'로 끝나는 직원들의 이름을 출력하시오.
    • [문자열 검색(접미어) 및 문자열 함수] 특정 문자열이 포함된 데이터 추출
      • Oracle : like, substr 함수
      • 파이썬 Pandas : str.endswith(), str.contains() 함수, .query() 구문
      • R 프로그래밍 : endsWith(), subset() 구문
      • R Dplyr Package : endsWith(), filter() 구문, str_detect() 함수, grepl() 문자열 함수, filter_all, any_vars, str_detect() 함수
      • R sqldf Package : like 연산자
      • Python pandasql Package : like 연산자
      • R data.table Package : %like% 연산자, grepl() 함수, endsWith() 함수
      • SAS Proc SQL : like 연산자, substr 함수
      • SAS Data Step : like 연산자, substr 함수
      • Python Dfply Package : filter_by() 구문, mask() 구문, endswith() 함수,
      • 파이썬 Base 프로그래밍 :

     


     

    21. Display the names of employees whose names have second alphabet A in their names. [Link]

    • 직원명의 2번째 문자가 알파벳 'L'인 직원들의 이름을 출력하시오.
    • [문자열 검색 및 문자열 함수] 특정 문자열이 포함된 데이터 추출
      • Oracle : like, substr 함수
      • 파이썬 Pandas : .str.match() 함수, .loc(), .query()
      • R 프로그래밍 : substr(), grep() 함수, stringr::str_detect(), stringr::str_sub() 함수, which(), subset()
      • R Dplyr Package : stringr::str_detect(), base::grepl() 함수, filter()
      • R sqldf Package : like 연산자
      • Python pandasql Package : like 연산자
      • R data.table Package : grepl() 함수
      • SAS Proc SQL : like 연산자, substr 함수
      • SAS Data Step : like 연산자, substr 함수
      • Python Dfply Package : filter_by() 구문, mask() 구문, str.match() 함수
      • 파이썬 Base 프로그래밍 :

     


     

    22. Display the names of employees whose name is exactly five characters in length.

    • 사원명이 5글자인 직원들의 이름을 출력하시오.
    • [문자 함수] 특정 문자열의 길이를 측정 - Length 함수
      • Oracle : like, length 함수
      • 파이썬 Pandas : str.match(), str.len() 함수, .loc(), .query()
      • R 프로그래밍 : grep(), stringr::str_length(), stringr::str_detect(), nchar() 함수, as.character(), subset()
      • R Dplyr Package : grepl(), stringr::str_length(), stringr::str_detect() 함수, dplyr::filter(), nchar() 함수, as.character()
      • R sqldf Package : length 함수
      • Python pandasql Package : length 함수
      • R data.table Package : str_length() 함수
      • SAS Proc SQL : like 연산자, length() 함수
      • SAS Data Step : like 연산자, length() 함수
      • Python Dfply Package : filter_by() 구문, mask() 구문, str.len() 함수
      • 파이썬 Base 프로그래밍 :

     


     

    23. Display the names of employees who are not working as managers. [Link]

    • 관리자 역할(mgr 변수 기준)을 수행하지 않는 직원의 이름을 출력하시오
    • [데이터 필터링 & 서브쿼리] 서브쿼리 기반의 데이터 필터링
      • Oracle : minus 연산자, not in 연산자, 상관 서브쿼리
      • 파이썬 Pandas : not(~) 연산자, isin() 함수, np.isin() 함수, query() 함수
      • R 프로그래밍 : not(!) 연산자, %in% 연산자, which() 함수, substr() 연산자, dplyr::setdiff() 차집합 함수
      • R Dplyr Package : %in% 연산자, dplyr::anti_join() 차집합 함수
      • R sqldf Package : not in 연산자, 상관서브쿼리
      • Python pandasql Package : not in 연산자, 상관서브쿼리
      • R data.table Package : %in% 연산자, 셀프조인, nomatch 옵션, merge() 함수
      • SAS Proc SQL : not in 연산자, 상관서브쿼리, Left join 방식
      • SAS Data Step : Left join 방식의 Merge 구문
      • Python Dfply Package : filter_by 방식, .isin() 함수
      • 파이썬 Base 프로그래밍 :

     


     

    24. Display the names of employees who are not working as SALESMAN or CLERK or ANALYST.

    • 영업직, 판매직, 분석직을 제외한 직무로 근무하고 있는 직원들의 이름을 출력하시오.
    • [데이터 필터링 & 서브쿼리] 서브쿼리 기반의 데이터 필터링
      • Oracle : not in 연산자
      • 파이썬 Pandas : not(~) 연산자, isin() 함수, 슬라이싱(Slicing), .query(), not in 연산자
      • R 프로그래밍 : not(!) 연산자, %in% 연산자, which() 함수, subset() 구문
      • R Dplyr Package : filter() 함수, %in%, %nin% 연산자
      • R sqldf Package : not in 연산자
      • Python pandasql Package : not in 연산자
      • R data.table Package : %in% 연산자
      • SAS Proc SQL : not in 연산자
      • SAS Data Step : not in 연산자
      • Python Dfply Package : filter_by(), mask() 함수, isin() 함수
      • 파이썬 Base 프로그래밍 :

     


     

    26. Display the total number of employees working in the company. [Link]

    • 회사에서 근무하는 총직원의 수를 집계하시오.
    • [집계함수] 데이터 건수, 데이터 기초 분석을 위한 기초 통계량 측정
      • Oracle : count() , distinct
      • 파이썬 Pandas : len(), count(), describe(), nunique(), agg() 함수
      • R 프로그래밍 : nrow(), length(), dim(), str(), summary(), psych::describe(), psych::describeData()
      • R Dplyr Package : summarise(), n(), tally(), count()
      • R sqldf Package : count() , distinct
      • Python pandasql Package : count() , distinct
      • R data.table Package : .N
      • SAS Proc SQL : count() , distinct, dictionary.tables, nobs
      • SAS Data Step : nobs, retain, ARRAY, SUM(), cmiss(), PROC SUMMARY
      • Python Dfply Package : summarize(), .count(), .nunique(), len()
      • 파이썬 Base 프로그래밍 :

     


     

    27. Display the total salary being paid to all employees.

    • 수수료를 포함한 모든 직원에게 지급되는 총 급여를 계산하시오.
    • [집계함수] 수치형 데이터 합계 계산, 결측치 대체
      • Oracle : sum(), nvl()
      • 파이썬 Pandas : sum, replace()
      • R 프로그래밍 : sum(), ifelse(), replace_na()
      • R Dplyr Package : dplyr::summarise(), ifelse()
      • R sqldf Package : sum(), ifnull()
      • Python pandasql Package : sum(), ifnull()
      • R data.table Package : sum(), ifelse
      • SAS Proc SQL : sum(), ifn(), coalesce()
      • SAS Data Step : proc summary, sum=, coalesce, ifn
      • Python Dfply Package : summarize(), .replace()
      • 파이썬 Base 프로그래밍 :

     


     

    28. Display the maximum salary from emp table. [Link]

    • 직원들에게 지급되는 급여 중 최대 급여를 계산하시오.
    • [집계함수] 수치형 데이터 최대값 측정
      • Oracle : max()
      • 파이썬 Pandas : max()
      • R 프로그래밍 : max()
      • R Dplyr Package : dplyr::summarise(), max()
      • R sqldf Package : max()
      • Python pandasql Package : max()
      • R data.table Package : max()
      • SAS Proc SQL : max()
      • SAS Data Step : proc summary, max=
      • Python Dfply Package : summarize(), .max()
      • 파이썬 Base 프로그래밍 :

     


     

    29. Display the minimum salary from emp table. [Link]

    • 직원들에게 지급되는 급여 중 최소 급여를 계산하시오.
    • [집계함수] 수치형 데이터 최소값 측정
      • Oracle : min()
      • 파이썬 Pandas : min()
      • R 프로그래밍 : min()
      • R Dplyr Package : dplyr::summarise(), min()
      • R sqldf Package : min()
      • Python pandasql Package : min()
      • R data.table Package : min()
      • SAS Proc SQL : min()
      • SAS Data Step : proc summary, min=
      • Python Dfply Package : summarize(), .min()
      • 파이썬 Base 프로그래밍 :

     


     

    30. Display the average salary from emp table. [Link]

    • 직원들에게 지급되는 평균 급여(급여의 평균)을 계산하시오.
    • [집계함수] 수치형 데이터 평균값 측정
      • Oracle : avg()
      • 파이썬 Pandas : mean()
      • R 프로그래밍 : mean()
      • R Dplyr Package : dplyr::summarise(), mean()
      • R sqldf Package : avg()
      • Python pandasql Package : avg()
      • R data.table Package : mean()
      • SAS Proc SQL : avg()
      • SAS Data Step : proc summary, mean=
      • Python Dfply Package : summarize(), .mean()
      • 파이썬 Base 프로그래밍 :

     


     

    31. Display the maximum salary being paid to CLERK. [Link]

    • 판매직 직무로 근무하는 직원들에게 지급되는 최대 급여를 출력하시오.
    • [집계함수] 조건절을 만족하는 수치형 데이터 최대값 측정
      • Oracle : max()
      • 파이썬 Pandas : .query(), max()
      • R 프로그래밍 : max(), subset()
      • R Dplyr Package : dplyr::summarise(), max(), filter()
      • R sqldf Package : max()
      • Python pandasql Package : max()
      • R data.table Package : max()
      • SAS Proc SQL : max()
      • SAS Data Step : proc summary, max=
      • Python Dfply Package : summarize(), .max(), filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    32. Display the maximum salary being paid in dept no 20. [Link]

    * 부서번호 20에 근무하는 직원들에게 지급되는 최대 급여를 출력하시오.

    • [집계함수] 조건절을 만족하는 수치형 데이터 최대값 측정
      • Oracle : max()
      • 파이썬 Pandas : .query(), max()
      • R 프로그래밍 : max(), subset()
      • R Dplyr Package : dplyr::summarise(), max(), filter()
      • R sqldf Package : max()
      • Python pandasql Package : max()
      • R data.table Package : max()
      • SAS Proc SQL : max()
      • SAS Data Step : proc summary, max=
      • Python Dfply Package : summarize(), .max(), filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    33. Display the min Sal being paid to any SALESMAN. [Link]

    * 영업직으로 근무하는 직원들에게 지급되는 최소 급여를 출력하시오.

    • [집계함수] 조건절을 만족하는 수치형 데이터 최소값 측정
      • Oracle : min()
      • 파이썬 Pandas : min(), .query()
      • R 프로그래밍 : min(), subset()
      • R Dplyr Package : filter(), dplyr::summarise(), min()
      • R sqldf Package : min()
      • Python pandasql Package : min()
      • R data.table Package : min()
      • SAS Proc SQL : min()
      • SAS Data Step : proc summary, min=
      • Python Dfply Package : filter_by(), summarize(), .min()
      • 파이썬 Base 프로그래밍 :

     


     

    34. Display the average salary drawn by managers. [Link]

    * 관리자에게 지급되는 평균 급여를 집계하시오.

    • [집계함수] 조건절을 만족하는 수치형 데이터 평균값 측정
      • Oracle : avg()
      • 파이썬 Pandas : mean(), query()
      • R 프로그래밍 : colMeans(), subset()
      • R Dplyr Package : filter(), dplyr::summarise(), mean()
      • R sqldf Package : avg()
      • Python pandasql Package : avg()
      • R data.table Package : mean()
      • SAS Proc SQL : avg()
      • SAS Data Step : proc summary, mean=
      • Python Dfply Package : filter_by(), summarize(), .mean()
      • 파이썬 Base 프로그래밍 :

     


     

    35. Display the total salary drawn by analyst working in dept no 40. [Link]

    * 부서번호 30에 근무하는 직원의 수수료를 고려한 급여를 계산하시오.

    • [집계함수] 조건절을 만족하는 수치형 데이터 합계 계산, 결측치 대체
      • Oracle : sum(), nvl()
      • 파이썬 Pandas : sum, replace()
      • R 프로그래밍 : sum(), ifelse(), replace_na()
      • R Dplyr Package : filter(), dplyr::summarise(), ifelse()
      • R sqldf Package : sum(), ifnull()
      • Python pandasql Package : sum(), ifnull()
      • R data.table Package : sum(), ifelse()
      • SAS Proc SQL : sum(), ifn(), coalesce()
      • SAS Data Step : proc summary, sum=, coalesce, ifn
      • Python Dfply Package : filter_by(), summarize(), .replace()
      • 파이썬 Base 프로그래밍 :

     


     

    36. Display the names of employees in order of salary i.e. the name of the employee earning lowest salary should appear first. [Link]

    * emp테이블에서 근무하는 직원의 급여를 기준으로 오름차순(작은 급여 우선)으로 정렬하고 해당 직원의 이름을 출력하시오.

    • [데이터 정렬] 수치형 데이터를 기준으로 오름차순 정렬
      • Oracle : order by
      • 파이썬 Pandas : sort_values()
      • R 프로그래밍 : order()
      • R Dplyr Package : dplyr::arrange()
      • R sqldf Package : order by
      • Python pandasql Package : order by
      • R data.table Package : order()
      • SAS Proc SQL : order by
      • SAS Data Step : proc sort
      • Python Dfply Package : arrange()
      • 파이썬 Base 프로그래밍 :

     


     

    37. Display the names of employees in descending order of salary. [Link]

    * emp테이블에서 근무하는 직원의 급여를 기준으로 내림차순(급여액이 큰 값 우선)으로 정렬하고 해당 직원의 이름을 출력하시오.

    • [데이터 정렬] 수치형 데이터를 기준으로 내림차순 정렬
      • Oracle : order by, desc
      • 파이썬 Pandas : sort_values(), ascending=
      • R 프로그래밍 : order(), decreasing=
      • R Dplyr Package : dplyr::arrange(), desc()
      • R sqldf Package : order by, desc
      • Python pandasql Package : order by, desc
      • R data.table Package : order(), desc()
      • SAS Proc SQL : order by, desc
      • SAS Data Step : proc sort, DESCENDING
      • Python Dfply Package : arrange(), ascending=
      • 파이썬 Base 프로그래밍 :

     


     

    38. Display the details from emp table in order of emp name. [Link]

    * emp테이블에서 근무하는 직원의 이름을 기준으로 오름차순('a' 문자 우선)으로 정렬하고 해당 직원의 이름을 출력하시오.

    • [데이터 정렬] 문자형 데이터를 기준으로 오름차순 정렬
      • Oracle : order by
      • 파이썬 Pandas : sort_values()
      • R 프로그래밍 : order()
      • R Dplyr Package : dplyr::arrange()
      • R sqldf Package : order by
      • Python pandasql Package : order by
      • R data.table Package : order()
      • SAS Proc SQL : order by
      • SAS Data Step : proc sort
      • Python Dfply Package : arrange()
      • 파이썬 Base 프로그래밍 :

     


     

    39. Display empno, ename, deptno, and sal. Sort the output first based on name and within name by deptno and within deptno by Sal. [Link]

    * emp테이블에서 근무하는 직원의 이름, 부서번호, 급여를 기준으로 오름차순으로 정렬하고 해당 직원의 정보를 출력하시오.

    • [데이터 다중 정렬] 여러 개의 정렬 키를 기준으로 데이터 정렬
      • Oracle : order by
      • 파이썬 Pandas : sort_values()
      • R 프로그래밍 : order()
      • R Dplyr Package : dplyr::arrange()
      • R sqldf Package : order by
      • Python pandasql Package : order by
      • R data.table Package : order()
      • SAS Proc SQL : order by
      • SAS Data Step : proc sort
      • Python Dfply Package : arrange()
      • 파이썬 Base 프로그래밍 :

     


     

    40. Display the name of the employee along with their annual salary (Sal * 12). The name of the employee earning highest annual salary should appear first. [Link]

    • emp 테이블에서 근무하는 직원의 연봉(급여*12)를 기준으로 내림차순(연봉이 큰 값 우선)으로 정렬하고 해당 직원의 이름을 출력하시오
    • [데이터 정렬] 신규로 생성된 정렬 키를 기준으로 데이터 내림차순 정렬
      • Oracle : order by, nvl(), desc
      • 파이썬 Pandas : sort_values(), replace(), .fillna(), ascending=
      • R 프로그래밍 : order(), ifelse(), is.na(), transform(), descending(-)
      • R Dplyr Package : dplyr::arrange(), desc(), dplyr::mutate, ifelse
      • R sqldf Package : order by, ifnull(), desc
      • Python pandasql Package : order by, ifnull(), desc
      • R data.table Package : order(), ifelse(), is.na(), desc()
      • SAS Proc SQL : order by, desc
      • SAS Data Step : proc sort, DESCENDING
      • Python Dfply Package : arrange(), sort_values(), ascending=, .replace()
      • 파이썬 Base 프로그래밍 :

     


     

    41. Display name, Sal, hra, pf, da, total Sal for each employee. The output should be in the order of total Sal, hra 15% of Sal, da 10% of sal, pf 5% of sal total salary will be (sal + hra+ da)-pf. [Link]

    • 아래의 수식을 사용하여서 총급여를 계산하시오.
    • HRA = sal 15% , PF = sal 5%, DA = sal * 10%
    • 총급여 = (sal + HRA + DF) - PF
    • [신규 변수 생성] 복잡한 연산 작업 수행
      • Oracle :
      • 파이썬 Pandas : .assign(), lambda() 함수
      • R 프로그래밍 : transform() 함수
      • R Dplyr Package : dplyr::mutate()
      • R sqldf Package :
      • Python pandasql Package :
      • R data.table Package : 복수의 변수 생성
      • SAS Proc SQL :
      • SAS Data Step : keep
      • Python Dfply Package : mutate(), select()
      • 파이썬 Base 프로그래밍 :

     


     

    42. Display dept numbers and total number of employees within each group. [Link]

    • 개별 부서에 근무하는 직원의 총 인원수를 출력하시요.
    • [그룹별 집계함수] 그룹별 건수 집계
      • Oracle : count(*)
      • 파이썬 Pandas : groupby(), describe(), reset_index(), size(), agg(), pd.series.nunique, value_counts(), subset=, rp.summary_cont(), groupby
      • R 프로그래밍 : aggregate(), length, function, table, tapply
      • R Dplyr Package : dplyr::group_by(), dplyr::count(), tally()
      • R sqldf Package : group by, count(*)
      • Python pandasql Package : group by, count(*)
      • R data.table Package : .N, keyby=
      • SAS Proc SQL : group by, count(*)
      • SAS Data Step : proc summary, N=
      • Python Dfply Package : group_by(), summarize(), .count()
      • 파이썬 Base 프로그래밍 :

     


     

    43. Display the various jobs and total number of employees with each job group. [Link]

    • 개별 직무에 속한 직원의 총 인원수를 출력하시오.
    • [그룹별 집계함수] 그룹별 건수 집계
      • Oracle : group by, count(*)
      • 파이썬 Pandas : groupby(), describe(), reset_index(), size(), agg(), pd.series.nunique, value_counts(), subset=, rp.summary_cont(), groupby
      • R 프로그래밍 : aggregate(), length, function, table, tapply
      • R Dplyr Package : dplyr::group_by(), dplyr::count(), tally()
      • R sqldf Package : group by, count(*)
      • Python pandasql Package : group by, count(*)
      • R data.table Package : .N, keyby=
      • SAS Proc SQL : group by, count(*)
      • SAS Data Step : proc summary, N=, first., last.
      • Python Dfply Package : group_by(), summarize(), .count(), .nunique(), .n()
      • 파이썬 Base 프로그래밍 :

     


     

    44. Display department numbers and total salary for each department.

    • 개별 부서에 근무하는 직원의 총 급여를 집계하여서 출력하시요.
    • [그룹별 집계함수] 그룹별 합계 집계
      • Oracle : group by, sum()
      • 파이썬 Pandas : groupby(), describe(), reset_index(), agg()
      • R 프로그래밍 : aggregate(), list, sum, function
      • R Dplyr Package : dplyr::group_by(), dplyr::summarise(), sum()
      • R sqldf Package : group by, sum()
      • Python pandasql Package : group by, sum()
      • R data.table Package a: sum(), list
      • SAS Proc SQL : group by, sum()
      • SAS Data Step : proc summary, sum=, first., last.
      • Python Dfply Package : group_by(), summarize(), .sum()
      • 파이썬 Base 프로그래밍 :

     


     

    45. Display department numbers and maximum salary for each department. [Link]

    • 개별 부서에 근무하는 직원의 최대 급여와 최소 급여를 출력하시요.
    • 그룹별 최소값 집계 : 45번, 47번
    • [그룹별 집계함수] 그룹별 최대값과 최소값 집계
      • Oracle : group by, min(), max()
      • 파이썬 Pandas : groupby(), agg(), reset_index(), np.min, np.max
      • R 프로그래밍 : aggregate(), list, min, max, 사용자 정의 함수, aggregate(), plyr::each()
      • R Dplyr Package : dplyr::group_by(), dplyr::summarise, min(), max()
      • R sqldf Package : group by, min(), max()
      • Python pandasql Package : group by, min(), max()
      • R data.table Package : min(), max(), by=
      • SAS Proc SQL : group by, min(), max()
      • SAS Data Step : proc summary, min=, max()=, first., last.
      • Python Dfply Package : group_by(), summarize(), .min(), .max()
      • 파이썬 Base 프로그래밍 :

     


     

    46. Display the various jobs and total salary for each job. [Link]

    • 개별 직무 속한 직원들의 총 급여를 계산하시오
    • 그룹별 합계 : 45번, 46번
    • [그룹별 집계함수] 그룹별 합계 집계
      • Oracle : group by, sum()
      • 파이썬 Pandas : groupby(), describe(), reset_index(), agg()
      • R 프로그래밍 : aggregate(), list, sum, 사용자 정의 함수(function)
      • R Dplyr Package : dplyr::group_by(), dplyr::summarise(), sum()
      • R sqldf Package : group by, sum()
      • Python pandasql Package : group by, sum()
      • R data.table Package a: sum(), list, keyby=
      • SAS Proc SQL : group by, sum()
      • SAS Data Step : proc summary, sum=, first., last.
      • Python Dfply Package : group_by(), summarize(), .sum()
      • 파이썬 Base 프로그래밍 :

     


     

    47. Display each job along with minimum sal being paid in each job group. [Link]

    • 개별 직무에 속한 직원들에게 지급되는 급여 중에서 최소 급여를 출력하시오.
    • 그룹별 최소값 집계 : 45번, 47번
    • [그룹별 집계함수] 그룹별 최소값 집계
      • Oracle : group by, min()
      • 파이썬 Pandas : groupby(), agg(), reset_index()
      • R 프로그래밍 : aggregate(), min, 사용자 정의 함수
      • R Dplyr Package : dplyr::group_by(), dplyr::summarise, min()
      • R sqldf Package : group by, min()
      • Python pandasql Package : group by, min()
      • R data.table Package : min(), by=
      • SAS Proc SQL : group by, min()
      • SAS Data Step : proc summary, min=, first., last.
      • Python Dfply Package : group_by(), summarize(), .min(), .max()
      • 파이썬 Base 프로그래밍 :

     


     

    48. Display the department numbers with more than three employees in each dept. [Link]

    • 개별 부서에 속한 직원의 숫자가 3명 이상인 부서만 출력하라.
    • [그룹별 집계함수와 조건식] 그룹별 건수 집계 후 조건절에 만족하는 그룹 선택
      • Oracle : group by, count(*), having
      • 파이썬 Pandas : groupby(), .count(), .query(), .count(), .loc, 슬라이싱(Slicing), .max()
      • R 프로그래밍 : aggregate(), 사용자 정의 함수, length, function, subset()
      • R Dplyr Package : dplyr::group_by(), dplyr::summarise(), n(), filter()
      • R sqldf Package : group by, count(*), having
      • Python pandasql Package : group by, count(*), having
      • R data.table Package : .N, keyby=. .SD (Subset)
      • SAS Proc SQL : group by, count(*), having
      • SAS Data Step : proc summary, N=, where=, first., last.
      • Python Dfply Package : group_by(), summarize(), .count(), .nunique(), .n(), ungroup(), filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    49. Display the various jobs along with total sal for each of the jobs where total sal is greater than 4000.

    • 개별 직무별 급여 합계를 구한 후 그 합계값이 5000 초과인 직무와 급여 합계를 출력하시오.
    • [데이터 추출] having 절
      • Oracle : having 절
      • 파이썬 Pandas : groupby(), .query(), agg(), filter()
      • R 프로그래밍 : aggregate(), subset()
      • R Dplyr Package : group_by(), summarise(), filter()
      • R sqldf Package : having 절
      • Python pandasql Package : having 절
      • R data.table Package : .SD (Subset of Dataframe) , keyby
      • SAS Proc SQL : having 절
      • SAS Data Step : PROC SUMMARY, where 구문, FIRST.
      • Python Dfply Package : group_by(), summarize(), filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    50. Display the various jobs along with total number of employees in each job. The output should contain only those jobs with more than three employees. [Link]

    • 개별 직무에 속한 직원의 숫자가 3명 이상인 부서만 출력하라.
    • [데이터 추출] having count() 구문
      • Oracle : having count(*) 절
      • 파이썬 Pandas : groupby(), .query(), agg(), filter()
      • R 프로그래밍 : aggregate(), subset(), FUN = function(x) (사용자 정의 함수)
      • R Dplyr Package : group_by(), summarise(), filter(),
      • R sqldf Package : having count(*) 절
      • Python pandasql Package : having count(*) 절
      • R data.table Package : .SD (Subset of Dataframe) , keyby
      • SAS Proc SQL : having count(*) 절
      • SAS Data Step : PROC SUMMARY, where 구문, FIRST.
      • Python Dfply Package : group_by(), summarize(), filter_by(), ungroup()
      • 파이썬 Base 프로그래밍 :

     


     

    51. Display the name of emp who earns highest sal. [Link]

    • 최대 연봉을 받는 직원의 정보를 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - 최대값(MAX)과 비교연산자
      • Oracle : 서브쿼리(Subquery), max() 함수
      • 파이썬 Pandas : max() 함수
      • R 프로그래밍 : max() 함수
      • R Dplyr Package : filter(), max() 함수
      • R sqldf Package : 서브쿼리(Subquery), max() 함수
      • Python pandasql Package : 서브쿼리(Subquery), max() 함수
      • R data.table Package : max() 함수
      • SAS Proc SQL : 서브쿼리(Subquery), max() 함수
      • SAS Data Step : PROC RANK, obs
      • Python Dfply Package : filter_by(), max() 함수
      • 파이썬 Base 프로그래밍 :

     


     

    52. Display the employee number and name of employee working as CLERK and earning highest salary among CLERKS. [Link]

    • 사무직 직원 중에서 최대 연봉을 받는 직원의 정보를 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - 최대값(MAX)과 비교연산자
      • Oracle : 서브쿼리(Subquery), max() 함수
      • 파이썬 Pandas : max() 함수
      • R 프로그래밍 : max() 함수
      • R Dplyr Package : filter(), max() 함수, pull() : 벡터 추출, unique()
      • R sqldf Package : 서브쿼리(Subquery), max() 함수
      • Python pandasql Package : 서브쿼리(Subquery), max() 함수
      • R data.table Package : max() 함수
      • SAS Proc SQL : 서브쿼리(Subquery), max() 함수
      • SAS Data Step : PROC RANK, obs
      • Python Dfply Package : filter_by(), max() 함수, @pipe (사용자 정의 함수)
      • 파이썬 Base 프로그래밍 :

     


     

    53. Display the names of the salesman who earns a salary more than the highest salary of any clerk. [Link]

    • 사무직 직원의 최대 연봉보다 더 많은 연봉을 받는 판매직 직원의 정보를 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - 최대값(MAX)과 비교연산자
      • Oracle : 서브쿼리(Subquery), max() 함수
      • 파이썬 Pandas : max() 함수
      • R 프로그래밍 : max() 함수
      • R Dplyr Package : filter(), max() 함수, pull() : 벡터 추출, unique()
      • R sqldf Package : 서브쿼리(Subquery), max() 함수
      • Python pandasql Package : 서브쿼리(Subquery), max() 함수
      • R data.table Package : max() 함수
      • SAS Proc SQL : 서브쿼리(Subquery), max() 함수
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현, Macro 변수
      • Python Dfply Package : filter_by(), max() 함수, @dfpipe (사용자 정의 함수)
      • 파이썬 Base 프로그래밍 :

     


     

    54. Display the names of clerks who earn salary more than that of James of that of sal lesser than that of Scott. [Link]

    • 직원 'JAMES' 의 급여보다 크고, 직원 'SCOTT'의 급여보다 적은 사무직 직원의 정보를 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - 비교연산자
      • Oracle : 서브쿼리(Subquery), where 구문
      • 파이썬 Pandas : iloc[], 비교구문
      • R 프로그래밍 : 비교구문
      • R Dplyr Package : filter(), pull() : 벡터 추출, unique()
      • R sqldf Package : 서브쿼리(Subquery), where 구문
      • Python pandasql Package : 서브쿼리(Subquery), where 구문
      • R data.table Package : 비교구분
      • SAS Proc SQL : 서브쿼리(Subquery), where 구문
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현, Macro 변수 할당
      • Python Dfply Package : filter_by(), @dfpipe (사용자 정의 함수), 비교구분
      • 파이썬 Base 프로그래밍 :

     


     

    55. Display the names of employees who earn a Sal more than that of James or that of salary lesser than that of Scott. [Link]

    • 직원 'JAMES' 의 급여보다 크고, 직원 'SCOTT'의 급여보다 적은 직원의 정보를 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - 비교연산자
      • Oracle : 서브쿼리(Subquery), where 구문
      • 파이썬 Pandas : iloc[], 비교구문
      • R 프로그래밍 : 비교구문
      • R Dplyr Package : filter(), pull() : 벡터 추출, unique()
      • R sqldf Package : 서브쿼리(Subquery), where 구문
      • Python pandasql Package : 서브쿼리(Subquery), where 구문
      • R data.table Package : 비교구분
      • SAS Proc SQL : 서브쿼리(Subquery), where 구문
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현, Macro 변수 할당
      • Python Dfply Package : filter_by(), @dfpipe (사용자 정의 함수), 비교구분
      • 파이썬 Base 프로그래밍 :

     


     

    56. Display the names of the employees who earn highest salary in their respective departments. [Link]

    • 개별 부서에서 최고 급여를 받는 직원의 정보를 출력하시오.
    • [데이터 추출] 상관 서브쿼리(Correlated Subqueyr) 를 만족하는 데이터 추출 - 최대값(MAX)
      • Oracle : 상관 서브쿼리(Subquery), where 구문
      • 파이썬 Pandas : groupby(), agg(), pd.merge : 내부조인(Inner join), 비교구문
      • R 프로그래밍 : merge - 내부조인(Inner join), 비교구문, FUN = function(x) (사용자정의 함수), names() - 변수명 변경, tapply(), class(), ave(), subset(), boolean 연산자(!!)
      • R Dplyr Package : inner_join() - 내부조인, group_by(), summarise()
      • R sqldf Package : 상관 서브쿼리(Subquery), where 구문
      • Python pandasql Package : 상관 서브쿼리(Subquery), where 구문
      • R data.table Package : merge - 내부조인, 비교구분, max() 함수
      • SAS Proc SQL : 서브쿼리(Subquery), where 구문
      • SAS Data Step : PROC SUMMARY, IF 조건문, PROC RANK, PROC SORT NODUPKEY
      • Python Dfply Package : inner_join - 내부조인, group_by(), summarize(), merge(), inner_join_fun 사용자 정의 함수
      • 파이썬 Base 프로그래밍 :

     


     

    57. Display the names of employees who earn highest salaries in their respective job groups. [Link]

    • 개별 직무 내에서 최고 급여를 받는 직원의 정보를 출력하시오.
    • [데이터 추출] 상관 서브쿼리(Correlated Subqueyr) 를 만족하는 데이터 추출 - IN 연산자
      • Oracle : 상관 서브쿼리(Subquery), where 구문
      • 파이썬 Pandas : groupby(), agg(), pd.merge : 내부조인(Inner join), 비교구문
      • R 프로그래밍 : merge - 내부조인(Inner join), 비교구문, FUN = function(x) (사용자정의 함수), names() - 변수명 변경, tapply(), class(), ave(), subset(), boolean 연산자(!!)
      • R Dplyr Package : inner_join() - 내부조인, group_by(), summarise()
      • R sqldf Package : 상관 서브쿼리(Subquery), where 구문
      • Python pandasql Package : 상관 서브쿼리(Subquery), where 구문
      • R data.table Package : merge - 내부조인, 비교구분, max() 함수
      • SAS Proc SQL : 서브쿼리(Subquery), where 구문
      • SAS Data Step : PROC SUMMARY, IF 조건문, PROC RANK, PROC SORT NODUPKEY
      • Python Dfply Package : inner_join - 내부조인, group_by(), summarize(), merge(), inner_join_fun 사용자 정의 함수
      • 파이썬 Base 프로그래밍 :

     


     

    58. Display the employee names who are working in accountings dept [Link]

    • 회계부서에서 근무하고 있는 직원들의 이름을 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - 비교연산자
      • Oracle : 비상관 서브쿼리, in 연산자
      • 파이썬 Pandas : isin()
      • R 프로그래밍 : %in%
      • R Dplyr Package : filter(), %in%
      • R sqldf Package : 비상관 서브쿼리, in 연산자
      • Python pandasql Package : 비상관 서브쿼리, in 연산자
      • R data.table Package : %in%
      • SAS Proc SQL : 비상관 서브쿼리, in 연산자
      • SAS Data Step : 내부조인(Inner join), IF 조건문
      • Python Dfply Package : filter_by(), pipe (사용자정의 함수) - pull_fun
      • 파이썬 Base 프로그래밍 :

     


     

    59. Display the employee names who are working in Chicago. [Link]

    • 시카고에서 근무하고 있는 직원의 정보를 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - 비교연산자
      • Oracle : 비상관 서브쿼리
      • 파이썬 Pandas : iloc[], type()
      • R 프로그래밍 : class()
      • R Dplyr Package : filter(), pull()
      • R sqldf Package : 비상관 서브쿼리
      • Python pandasql Package : 비상관 서브쿼리
      • R data.table Package : class()
      • SAS Proc SQL : 비상관 서브쿼리
      • SAS Data Step : 내부조인(Inner join), IF 조건문
      • Python Dfply Package : filter_by(), pipe (사용자정의 함수) - pull_fun
      • 파이썬 Base 프로그래밍 :

     


     

    60. Display the job groups having total salary greater than the maximum salary for managers. [Link]

    • 직무별 총 급여가 관리자의 최대 급여보다 더 큰 직무 그룹을 출력하시오.
    • [데이터 추출] Having 절에 비상관 서브쿼리 사용
      • Oracle : Having절, 비상관 서브쿼리
      • 파이썬 Pandas : groupby(), filter(), lambda 함수
      • R 프로그래밍 : subset(), aggregate(), FUN = function(x) 사용자 정의 함수
      • R Dplyr Package : group_by(), summarise(), filter(), pull()
      • R sqldf Package : Having절, 비상관 서브쿼리
      • Python pandasql Package : Having절, 비상관 서브쿼리
      • R data.table Package : .SD (Subset of Dataframe), keyby
      • SAS Proc SQL : Having절, 비상관 서브쿼리
      • SAS Data Step : Proc Summary, CROSS JOIN (카테시안 곱) 구현, Macro 변수 할당
      • Python Dfply Package : summarize(), filter_by(), pipe (사용자정의 함수) - pull_fun
      • 파이썬 Base 프로그래밍 :

     


     

    61. Display the names of employees from department number 10 with salary greater than that of any employee working in other departments. [Link]

    • 다른 부서에서 근무하는 직원보다 급여를 많이 받는 10번 부서의 직원 정보를 출력하시오.
    • [데이터 추출] 상관 서브쿼리(Correlated Subqueyr) 를 만족하는 데이터 추출 - Any 연산자 & 최소값(Min)
      • Oracle : 상관 서브쿼리, Any 연산자
      • 파이썬 Pandas : .loc[], min() 함수
      • R 프로그래밍 : subset(), min() 함수
      • R Dplyr Package : filter(), summarise(), pull(), mutate(), left_join
      • R sqldf Package : 상관 서브쿼리, min() 함수, EXISTS 연산자
      • Python pandasql Package : 상관 서브쿼리, min() 함수, EXISTS 연산자
      • R data.table Package : min() 함수
      • SAS Proc SQL : 상관 서브쿼리, Any 연산자, min() 함수
      • SAS Data Step : Proc Summary, CROSS JOIN (카테시안 곱) 구현, Macro 변수 할당
      • Python Dfply Package : summarize(), filter_by(), pipe (사용자정의 함수) - pull_fun
      • 파이썬 Base 프로그래밍 :

     


     

    62. Display the names of employee from department number 10 with salary greater then that of all employee working in other departments. [Link]

    • 10번 부서 이외의 부서에서 근무하는 사원들의 최대 급여보다 많이 받는 10번(회계부서) 부서의 직원 정보를 출력하시오
    • [데이터 추출] 상관 서브쿼리(Correlated Subqueyr) 를 만족하는 데이터 추출 - All 연산자 & 최대값(Max)
      • Oracle : 상관 서브쿼리, All 연산자
      • 파이썬 Pandas : .loc[], max() 함수, lambda 함수
      • R 프로그래밍 : subset(), max() 함수
      • R Dplyr Package : filter(), summarise(), pull(), mutate(), left_join
      • R sqldf Package : 상관 서브쿼리, max() 함수, NOT EXISTS 연산자
      • Python pandasql Package : 상관 서브쿼리, max() 함수, NOT EXISTS 연산자
      • R data.table Package : max() 함수
      • SAS Proc SQL : 상관 서브쿼리, All 연산자, max() 함수
      • SAS Data Step : Proc Summary, CROSS JOIN (카테시안 곱) 구현, Macro 변수 할당
      • Python Dfply Package : summarize(), filter_by(), pipe (사용자정의 함수) - pull_fun
      • 파이썬 Base 프로그래밍 :

     


     

    63. Display the names of employees in Upper case. [Link]

    • 직원의 이름을 대문자로 출력하시오.
    • [문자 함수] 문자 대문자 변환
      • Oracle : Upper 함수
      • 파이썬 Pandas : upper()
      • R 프로그래밍 : lapply(), toupper 함수
      • R Dplyr Package : mutate(), toupper 함수
      • R sqldf Package : upper 함수
      • Python pandasql Package : upper 함수
      • R data.table Package : stringr::str_to_upper()
      • SAS Proc SQL : Upper 함수
      • SAS Data Step : upcase() 함수
      • Python Dfply Package : .str.upper()
      • 파이썬 Base 프로그래밍 :

     


     

    64. Display the names of employees in lower case. [Link]

    • 직원의 이름을 소문자로 변경하여 출력하시오.
    • [문자 함수] 문자 소문자 변환
      • Oracle : lower() 함수
      • 파이썬 Pandas : .str.lower()
      • R 프로그래밍 : lapply(), tolower
      • R Dplyr Package : mutate(), tolower()
      • R sqldf Package : lower() 함수
      • Python pandasql Package : lower() 함수
      • R data.table Package : str_to_lower()
      • SAS Proc SQL : lower() 함수
      • SAS Data Step : lowcase() 함수
      • Python Dfply Package : mutate(), .str.lower()
      • 파이썬 Base 프로그래밍 :

     


     

    65. Display the name of employees in proper case [Link]

    • 직원의 이름을 proper case로 변경하여 출력하시오. proper case는 단어의 첫 글자는 대문자로 나머지 글자는 소문자로 변환한다.
    • [문자 함수] 문자 proper case 문자로 변환
      • Oracle : initcap()
      • 파이썬 Pandas : .str.title()
      • R 프로그래밍 : lapply(), str_to_title
      • R Dplyr Package : mutate(), str_to_title()
      • R sqldf Package : upper(), substr()
      • Python pandasql Package : upper(), substr()
      • R data.table Package : str_to_title()
      • SAS Proc SQL : PROPCASE() 함수
      • SAS Data Step : PROPCASE() 함수
      • Python Dfply Package : .str.title()
      • 파이썬 Base 프로그래밍 :

     


     

    66. Find out the length of your name using appropriate function. [Link]

    • 적절한 함수를 사용하여서 사원 이름의 길이를 출력하라.
    • [문자 함수] 문자 길이 측정
      • Oracle : length()
      • 파이썬 Pandas : .str.len()
      • R 프로그래밍 : lapply(), stringr::str_length
      • R Dplyr Package : stringr::str_length()
      • R sqldf Package : length()
      • Python pandasql Package : length()
      • R data.table Package : stringr::str_length()
      • SAS Proc SQL : length()
      • SAS Data Step : length() 함수
      • Python Dfply Package : mutate(), .str.len()
      • 파이썬 Base 프로그래밍 :

     


     

    67. Display the length of all employees' names. [Link]

    • 모든 직원 이름의 길이 합계를 출력하라.
    • [문자 함수] 문자 길이 합계 계산
      • Oracle : length(), sum()
      • 파이썬 Pandas : .str.len(), .sum()
      • R 프로그래밍 : lapply(), stringr::str_length, sapply(), sum()
      • R Dplyr Package : stringr::str_length(), dplyr::summarise()
      • R sqldf Package : length(), sum()
      • Python pandasql Package : length(), sum()
      • R data.table Package : stringr::str_length(), sum()
      • SAS Proc SQL : length(), sum()
      • SAS Data Step : length() 함수, proc summary, 누적 합계
      • Python Dfply Package : mutate(), .str.len(), summarize(), .sum()
      • 파이썬 Base 프로그래밍 :

     


     

    68. Display the name of the employee concatenate with EMP no. [Link]

    • 사원번호와 직원의 이름을 연결(결합)하여 출력하시오.
    • [문자 함수] 문자열 결합(||) & 문자열 연결
      • Oracle : 파이프(||) 연산자, concat() 함수
      • 파이썬 Pandas : apply(), lambda 함수, .format(), + 연산자, .str.cat, .join, lambda 함수,
      • R 프로그래밍 : paste(), paste0()
      • R Dplyr Package : tidyr::unite(), stringi::stri_join(), stringr::str_c(), base::paste(), base::paste0()
      • R sqldf Package : 파이프(||) 연산자
      • Python pandasql Package : 파이프(||) 연산자
      • R data.table Package : base::paste(), stringr::str_c()
      • SAS Proc SQL : 파이프(||) 연산자, cat() 함수, Cats() 함수
      • SAS Data Step : 파이프(||) 연산자, cat() 함수, Cats() 함수
      • Python Dfply Package : + 연산자, .str.cat, mutate()
      • 파이썬 Base 프로그래밍 :

     


     

    69. Use appropriate function and extract 3 characters starting from 2 characters from the following string 'Oracle' i.e. the output should be 'rac' [Link]

    • 문자열 사원 이름의 2번째 위치를 시작해서 3글자를 출력하라.
    • [문자 함수] 문자열 절단 함수를 사용하여 문자열 자르기
      • Oracle : substr() 함수
      • 파이썬 Pandas : .str.slice()
      • R 프로그래밍 : base::substr(), stringr::str_sub()
      • R Dplyr Package : stringr::str_sub()
      • R sqldf Package : substr() 함수
      • Python pandasql Package : substr() 함수
      • R data.table Package : stringr::str_sub()
      • SAS Proc SQL : substr() 함수
      • SAS Data Step : substr() 함수
      • Python Dfply Package : .str.slice()
      • 파이썬 Base 프로그래밍 :

     


     

    70. Find the first occurrence of character a from the following string 'computer maintenance corporation'. [Link]

    • 문자열 'computer maintenance corporation'에서 문자 'a'를 검색하여서 첫 번째 문자 발생 위치를 반환하라.
    • [문자 함수] 기준 문자열에서 특정 문자 검색
      • Oracle : instr() 함수
      • 파이썬 Pandas : .str.find()
      • R 프로그래밍 : unlist(), lapply(), function(x) 사용자정의 함수, survPen::instr(), strsplit(), coalesce(), which(), stringi::stri_locate_all(), stringi::stri_locate_first()
      • R Dplyr Package : coalesce(), stringi::stri_locate_first()
      • R sqldf Package : instr() 함수
      • Python pandasql Package : instr() 함수
      • R data.table Package : stringi::stri_locate_first()
      • SAS Proc SQL : find() 함수, index() 함수, prxmatch() 함수, 정규식 함수
      • SAS Data Step : find() 함수, index() 함수, prxmatch() 함수, 정규식 함수
      • Python Dfply Package : .str.find() 함수
      • 파이썬 Base 프로그래밍 :

     


     

    71. Replace every occurrence of alphabet A with B in the string Allen’s (user translate function). [Link]

    • 문자열('Allens')에서 알파벳 문자 'A'를 모두 문자 'b'로 변경하시오.
    • [문자 함수] 문자열에서 특정 문자 변경
      • Oracle : replace() 함수
      • 파이썬 Pandas : .str.replace() 함수, maketrans(), .str.translate()
      • R 프로그래밍 : base::gsub(), lapply(), function(x) 사용자 정의 함수, str_replace_all()
      • R Dplyr Package : str_replace_all() 함수, base::gsub() 함수
      • R sqldf Package : replace() 함수
      • Python pandasql Package : replace() 함수
      • R data.table Package : str_replace_all() 함수
      • SAS Proc SQL : translate(), tranwrd(), prxchange() 함수(정규식 함수)
      • SAS Data Step : translate(), tranwrd(), prxchange() 함수(정규식 함수)
      • Python Dfply Package : .str.replace()
      • 파이썬 Base 프로그래밍 :

     


     

    72. Display the information from EMP table. Wherever job ‘manager’ is found it should be displayed as boss(replace function). [Link]

    • 직무 변수에서 직무명 'manager'를 'boss'로 변경하시오.
    • [문자 함수] 문자열 변경
      • Oracle : replace() 함수
      • 파이썬 Pandas : .str.replace() 함수
      • R 프로그래밍 : base::gsub(), lapply(), function(x) 사용자 정의 함수, str_replace_all()
      • R Dplyr Package : str_replace_all() 함수, base::gsub() 함수
      • R sqldf Package : replace() 함수
      • Python pandasql Package : replace() 함수
      • R data.table Package : str_replace_all() 함수
      • SAS Proc SQL : tranwrd(), prxchange() 함수(정규식 함수)
      • SAS Data Step : tranwrd(), prxchange() 함수(정규식 함수)
      • Python Dfply Package : .str.replace()
      • 파이썬 Base 프로그래밍 :

     


     

    73. Display empno, ename, deptno from EMP table. Instead of display department numbers display the related department name (use decode function). [Link]

    • 부서번호에 해당하는 부서명을 출력하시오. (decode 함수, case when)
    • [조건구문] 코드테이블 결합과 조건문
      • Oracle : 내부조인(Inner join), DECODE 구문, Case When 구문
      • 파이썬 Pandas : pd.merge(), np.select(), If 조건문 사용자 정의 함수, apply, lambda 함수, 딕셔너리 Map, IF 조건문
      • R 프로그래밍 : merge(), function(x), case_when(), ifelse()
      • R Dplyr Package : dplyr::left_join(), dplyr::select(), mutate(), dplyr::case_when() 조건문
      • R sqldf Package : 내부조인(Inner join), DECODE 구문, Case When 구문
      • Python pandasql Package : 내부조인(Inner join), DECODE 구문, Case When 구문
      • R data.table Package : dplyr::case_when() 조건문,
      • SAS Proc SQL : 내부조인(Inner join), Case When 구문
      • SAS Data Step : merge 구문, IF 조건문
      • Python Dfply Package : left_join 구문
      • 파이썬 Base 프로그래밍 :

     


     

    74. Display your age in days. [Link]

    • 오늘 날짜 기준으로 나이를 계산하시오. (연령 계산)
    • [날짜 함수]날짜 함수를 사용한 연령계산(나이계산) & Round 함수(반올림 함수)
      • Oracle : Round 함수
      • 파이썬 Pandas : today() strftime() - 날짜 포맷, 지역표준시, UTC(그리니치 표준시) 기준, relativedelta()
      • R 프로그래밍 : Sys.Date()
      • R Dplyr Package :
      • R sqldf Package : Round 함수
      • Python pandasql Package : Round 함수, datetime(), Date(), julianday() 날짜 함수, Cast()
      • R data.table Package :
      • SAS Proc SQL : intck(), year(), TODAY(), CEIL(), YRDIF()
      • SAS Data Step : TODAY(), DATE(), input(), MDY() 함수, intck(), Year() 함수, YRDIF(), DATDIF()
      • Python Dfply Package : datetime.today(), strftime() 날짜 포맷, time.localtime(), time.gmtime()
      • 파이썬 Base 프로그래밍 :

     


     

    75. Display your age in months. [Link]

    • 나이를 월단위로 계산하라.
    • [날짜 함수]날짜 함수를 사용한 기준월 사이의 기간(Gap) 계산
      • Oracle : floor() 함수
      • 파이썬 Pandas : datetime.today(), time.time(), strftime() 날짜 포맷, def 사용자 정의 함수, relativedelta()
      • R 프로그래밍 : year(), month(), Sys.Date(), lubridate::interval 함수, seq(), Length()
      • R Dplyr Package :
      • R sqldf Package : round() 함수, julianday()
      • Python pandasql Package : round() 함수, julianday()
      • R data.table Package :
      • SAS Proc SQL : intck(), Input(), DATDIF()
      • SAS Data Step : intck(), DATDIF(), Round()
      • Python Dfply Package : datetime(), today(), def 사용자 정의 함수
      • 파이썬 Base 프로그래밍 :

     


     

    78. Find the date of nearest Saturday after current day. [Link]

    • 현재 날짜 이후 가장 빠른 토요일 날짜를 출력하시오.
    • [날짜 함수] 가장 빠른 요일에 해당하는 날짜 반환
      • Oracle : next_day() 함수
      • 파이썬 Pandas :
      • R 프로그래밍 :
      • R Dplyr Package :
      • R sqldf Package :
      • Python pandasql Package :
      • R data.table Package :
      • SAS Proc SQL :
      • SAS Data Step :
      • Python Dfply Package :
      • 파이썬 Base 프로그래밍 :

     


     

    79. Display current time. [Link]

    • 현재 시간을 출력하시오.
    • [날짜 함수] 현재 시간 출력
      • Oracle : sysdate 함수, to_char()
      • 파이썬 Pandas : datetime.now(), datetime.now().time(), gmtime(), strftime() 날짜 포맷
      • R 프로그래밍 : Sys.Date(), Sys.time(), Sys.timezone(), as.POSIXlt()
      • R Dplyr Package :
      • R sqldf Package : DATETIME('now'), TIME('now')
      • Python pandasql Package : DATETIME('now'), TIME('now')
      • R data.table Package :
      • SAS Proc SQL : datetime(), time(), timepart()
      • SAS Data Step : datetime(), time(), timepart(), put() - 날짜 문자형 변환
      • Python Dfply Package : datetime.now(), gmtime(), strftime() 날짜 포맷 변환
      • 파이썬 Base 프로그래밍 :

     


     

    80. Display the date three months before the current date [Link]

    • 현재 날짜를 기준으로 3개월 이전 날짜를 출력하시오.
    • [날짜 함수] 특정 기간 전후 날짜 계산- 날짜 증감
      • Oracle : add_months() 함수
      • 파이썬 Pandas : relativedelta(), timedelta()
      • R 프로그래밍 : months(), as.difftime(), seq() 함수
      • R Dplyr Package :
      • R sqldf Package : date() 함수의 'start of month', '+3 month' 옵션
      • Python pandasql Package : date() 함수의 'start of month', '+3 month' 옵션
      • R data.table Package :
      • SAS Proc SQL : intnx() 함수
      • SAS Data Step : intnx() 함수, PUT() 함수 - 날짜 포맷 변경
      • Python Dfply Package : relativedelta()
      • 파이썬 Base 프로그래밍 :

     


     

    81. Display the common jobs from department number 10 and 20 [Link]

    • 부서번호 10(회계부서)과 20(연구부서)에 공통으로 존재하는 직무를 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - IN 연산자
      • Oracle : 비상관 서브쿼리, IN 연산자
      • 파이썬 Pandas : isin()
      • R 프로그래밍 : %in%, unlist
      • R Dplyr Package : %in%, Filter()
      • R sqldf Package : 비상관 서브쿼리, IN 연산자
      • Python pandasql Package : 비상관 서브쿼리, IN 연산자
      • R data.table Package : %in%, unlist
      • SAS Proc SQL : 비상관 서브쿼리, IN 연산자
      • SAS Data Step : Merge 구문, IF 조건문, Last.
      • Python Dfply Package : filter_by(), isin(), def 사용자 정의 함수
      • 파이썬 Base 프로그래밍 :

     


     

    82. Display the jobs found in department number 10 and 20 eliminate duplicate jobs [Link]

    • 부서번호 10(회계부서)과 20(연구부서)에 공통으로 존재하는 직무에 대하여 중복을 제거 후에 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - 중복 제거를 통한 유일한 값 추출
      • Oracle : 비상관 서브쿼리, distinct, intersect 연산자
      • 파이썬 Pandas : unique(), .drop_duplicates()
      • R 프로그래밍 : unique()
      • R Dplyr Package : distinct()
      • R sqldf Package : distinct
      • Python pandasql Package : distinct
      • R data.table Package : by=, Group 별 집계
      • SAS Proc SQL : 비상관 서브쿼리, distinct
      • SAS Data Step : Proc sort의 NODUPKEY 옵션
      • Python Dfply Package : distinct(), Def 사용자 정의 함수
      • 파이썬 Base 프로그래밍 :

     


     

    83. Display the jobs which are unique to dept no 10. [Link]

    • 회계부서('10')에 단독으로 존재하는 직무를 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - NOT IN 연산자
      • Oracle : 비상관 서브쿼리, not in 연산자, minus 연산자
      • 파이썬 Pandas : NOT('~') 연산자
      • R 프로그래밍 : NOT('!') 연산자
      • R Dplyr Package : NOT('!') 연산자
      • R sqldf Package : not in 연산자
      • Python pandasql Package : not in 연산자
      • R data.table Package : NOT('!') 연산자
      • SAS Proc SQL : 비상관 서브쿼리, not in 연산자
      • SAS Data Step : MERGE 구문, IF 조건문
      • Python Dfply Package : NOT('~') 연산자, isin()
      • 파이썬 Base 프로그래밍 :

     


     

    84. Display the details of those who do not have any person working under them [Link]

    • 관리자 업무를 수행하지 않는 직원의 정보를 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - NOT IN 연산자
      • Oracle : left join, Not In 연산자
      • 파이썬 Pandas : NOT('~') 연산자, isin(), notnull()
      • R 프로그래밍 : NOT('!') 연산자, %in%, unlist()
      • R Dplyr Package : NOT('!') 연산자, %in%, unlist(), dplyr::filter()
      • R sqldf Package : left join, Not In 연산자
      • Python pandasql Package : left join, Not In 연산자
      • R data.table Package : NOT('!') 연산자, %in%
      • SAS Proc SQL : left join
      • SAS Data Step : Merge 구문, IF 조건절,
      • Python Dfply Package : filter_by(), NOT('~') 연산자, isin()
      • 파이썬 Base 프로그래밍 :

     


     

    85. Display the details of employees who are in sales dept and grade is 3. [Link]

    • 영업부서(Salses - '30')에 근무하는 직원 중에서 판매 급여 등급이 3등급인 직원의 정보를 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - 비교연산자
      • Oracle : 비교연산자
      • 파이썬 Pandas : type(), .tolist(), iloc[]
      • R 프로그래밍 : 비교연산자, unlist()
      • R Dplyr Package : dplyr::filter(), unlist()
      • R sqldf Package : 비교연산자
      • Python pandasql Package : 비교연산자
      • R data.table Package : 비교연산자
      • SAS Proc SQL : 비교연산자
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현, IF 조건문, Macro 할당, CALL SYMPUT()
      • Python Dfply Package : filter_by(), @pipe 사용자 정의 함수
      • 파이썬 Base 프로그래밍 :

     


     

    86. Display those who are not managers and who are managers any one. [Link]

    • 관리자 이 외의 직원과 관리자 직무를 수행하는 직원을 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - 상하 결합 UNION 연산자
      • Oracle : in 연산자, not in 연산자, union
      • 파이썬 Pandas : pd.concat(), isin(), NOT('~') 연산자, notnull(), drop_duplicates(), reset_index()
      • R 프로그래밍 : unique(), rbind(), NOT('!') 연산자, %in%, unlist()
      • R Dplyr Package : dplyr::union(), dplyr::filter(), NOT('!') 연산자, %in%
      • R sqldf Package : in 연산자, not in 연산자, union
      • Python pandasql Package : in 연산자, not in 연산자, union, distinct
      • R data.table Package : data.table::funion(), NOT('!') 연산자, %in%
      • SAS Proc SQL : in 연산자, not in 연산자, union
      • SAS Data Step : SET 구문, Merge 구문, IF 조건문
      • Python Dfply Package : union (), filter_by(), NOT('~') 연산자, isin()
      • 파이썬 Base 프로그래밍 :

     


     

    87. Display those employees whose name contains not less than 5 chars [Link]

    • 사원 이름이 5글자 이상인 직원을 선택하시오.
    • [문자 함수] 문자 길이 측정
      • Oracle : length()
      • 파이썬 Pandas : str.match(), str.len(), loc[], str.len()
      • R 프로그래밍 : grep(), subset(), grepl(), stringr::str_detect(), stringr::str_length(), nchar(), as.character()
      • R Dplyr Package : dplyr::filter(), stringr::str_length(), grepl(), stringr::str_detect(), nchar(), as.character()
      • R sqldf Package : length() 함수
      • Python pandasql Package : length() 함수
      • R data.table Package : stringr::str_length()
      • SAS Proc SQL : length()
      • SAS Data Step : length()
      • Python Dfply Package : str.match(), str.len()
      • 파이썬 Base 프로그래밍 :

     


     

    88. Display those departments whose name start with ‘S’ while location name end with ‘O’. [Link]

    • 부서 이름이 'S'로 시작하고, 해당 부서가 위치하는 곳의 지명이 'O'로 끝나는 부서 정보를 출력하시오.
    • [문자 함수] 문자 검색 함수
      • Oracle : like 연산자
      • 파이썬 Pandas : str.startswith(), str.endswith(), str.match()
      • R 프로그래밍 : base::startsWith(), base::endsWith(), stringr::str_detect()
      • R Dplyr Package : dplyr::filter(), stringr::str_detect()
      • R sqldf Package : like 연산자
      • Python pandasql Package : like 연산자
      • R data.table Package : like 연산자, grepl()
      • SAS Proc SQL : like 연산자
      • SAS Data Step : like 연산자, prxmatch()
      • Python Dfply Package : filter_by(), str.startswith(), str.endswith()
      • 파이썬 Base 프로그래밍 :

     


     

    89. Display those employees whose manager name is JONES. [Link]

    • 해당 관리자의 이름이 "JONES"인 직원들의 정보를 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - 비교 연산자(=)
      • Oracle : 비상관 서브쿼리
      • 파이썬 Pandas : tolist()
      • R 프로그래밍 : NOT('!') 연산자, unlist()
      • R Dplyr Package : dplyr::filter(), unlist()
      • R sqldf Package : 비상관 서브쿼리
      • Python pandasql Package : 비상관 서브쿼리
      • R data.table Package : 비교 연산
      • SAS Proc SQL : 비상관 서브쿼리
      • SAS Data Step : Merge 구문, IF 조건문
      • Python Dfply Package : filter_by(), @pipe & Def 사용자 정의 함수
      • 파이썬 Base 프로그래밍 :

     


     

    90. Display those employees whose salary is more than 3000 after giving 20% increment. [Link]

    • 20% 인상된 급여가 3000 이상인 직원의 정보를 출력하시오.
    • [데이터 추출] Where 조건절을 만족하는 데이터 추출
      • Oracle : where 구문
      • 파이썬 Pandas : 비교 구문
      • R 프로그래밍 : 비교 구문
      • R Dplyr Package : dplyr::filter()
      • R sqldf Package : where 구문
      • Python pandasql Package : where 구문
      • R data.table Package : 비교 구문
      • SAS Proc SQL : 비교 구문
      • SAS Data Step : 비교 구문
      • Python Dfply Package : filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    91. Display all employees with there dept name.

    • 부서명과 해당 부서의 직원 이름을 출력하시오.
    • 유사문제 : 91, 94, 95, 174, 210번
    • [데이터 추출] 내부 조인(Inner Join)을 만족하는 데이터 추출
      • Oracle : 내부조인
      • 파이썬 Pandas : pd.merge()
      • R 프로그래밍 : base::merge()
      • R Dplyr Package : dplyr::inner_join()
      • R sqldf Package : 내부조인
      • Python pandasql Package : 내부조인
      • R data.table Package : DT syntax 방식, data.table::merge() 방식
      • SAS Proc SQL : 내부조인
      • SAS Data Step : Merge 구문, IF 조건문
      • Python Dfply Package : inner_join()
      • 파이썬 Base 프로그래밍 :

     


     

    92. Display ename who are working in sales dept. [Link]

    • 영업부서('SALES') 부서에서 근무하고 있는 직원의 이름을 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - 비교 연산자(=)
      • Oracle : 비상관 서브쿼리
      • 파이썬 Pandas : iloc[]
      • R 프로그래밍 : 비교 구문
      • R Dplyr Package : dplyr::filter(), pull()
      • R sqldf Package : 비상관 서브쿼리
      • Python pandasql Package : 비상관 서브쿼리
      • R data.table Package : 비교 구문
      • SAS Proc SQL : 비상관 서브쿼리
      • SAS Data Step : Merge 구문, IF 조건문
      • Python Dfply Package : filter_by(), @pipe & Def 사용자 정의 함수
      • 파이썬 Base 프로그래밍 :

     


     

    93. Display employee name, deptname, salary and comm. for those Sal in between 2000 to 5000 while location is Chicago. [Link]

    • 시카고에서 근무하고 급여가 2000에서 5000 사이에 위치한 직원의 정보를 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - 비교 연산자(=) 과 Between 연산자
      • Oracle : 비상관 서브쿼리, between 연산자
      • 파이썬 Pandas : iloc[], between()
      • R 프로그래밍 : 비교 구문, subset()
      • R Dplyr Package : dplyr::filter(), pull(), between()
      • R sqldf Package : 비상관 서브쿼리, between 연산자
      • Python pandasql Package : 비상관 서브쿼리, between 연산자
      • R data.table Package : 비교 구문, %between%
      • SAS Proc SQL : 비상관 서브쿼리, between 연산자, Where 데이터 세트 옵션
      • SAS Data Step : Merge 구문, IF 조건문
      • Python Dfply Package : filter_by(), @pipe & Def 사용자 정의 함수, between()
      • 파이썬 Base 프로그래밍 :

     


     

    94. Display those employees whose salary greater than his manager salary. [Link]

    • 해당 관리자의 급여보다 많이 받는 직원의 정보를 출력하시오.
    • 유사문제 : 91, 94, 95, 174, 210번
    • [데이터 추출] 비등가 내부 조인(Inner Join)을 만족하는 데이터 추출
      • Oracle : 비등가 내부조인, 상관 서브쿼리
      • 파이썬 Pandas : pd.merge(), filter(), query()
      • R 프로그래밍 : subset(), base::merge(), grep(), names(), %like%
      • R Dplyr Package : dplyr::inner_join(), dplyr::filter()
      • R sqldf Package : 비등가 내부조인, 상관 서브쿼리
      • Python pandasql Package : 비등가 내부조인, 상관 서브쿼리
      • R data.table Package : DT syntax 방식, data.table::merge() 방식, grep(), NOT('!') 연산자
      • SAS Proc SQL : 비등가 내부조인
      • SAS Data Step : Merge 구문, IF 조건문
      • Python Dfply Package : inner_join(), def 사용자 정의 함수, inner_join_fun 사용자 정의 함수
      • 파이썬 Base 프로그래밍 :

     


     

    95. Display those employees who are working in the same dept where his manager is working. [Link]

    • 담당 관리자가 근무하는 부서와 동일한 부서에 근무하는 직원의 정보를 출력하시오.
    • 유사문제 : 91, 94, 95, 174, 210번
    • [데이터 추출] 내부 조인(Inner Join)을 만족하는 데이터 추출
      • Oracle : 내부 조인, 상관 서브쿼리
      • 파이썬 Pandas : emp.merge()
      • R 프로그래밍 : merge(), names(), %like% - 변수명 선택
      • R Dplyr Package : inner_join()
      • R sqldf Package : 내부 조인, 상관 서브쿼리
      • Python pandasql Package : 내부 조인, 상관 서브쿼리
      • R data.table Package : DT syntax 방식, data.table::merge() 방식, grep()
      • SAS Proc SQL : 내부 조인, 상관 서브쿼리
      • SAS Data Step : MERGE 구문, IF 조건문
      • Python Dfply Package : @pipe & def 사용자 정의 함수(inner_join_merge)
      • 파이썬 Base 프로그래밍 :

     


     

    96. Display those employees who are not working under any manger. [Link]

    • 담당 관리자가 존재하지 않는 직원의 정보를 출력하시오.
    • [데이터 추출] 값이 존재하지 않는 NULL 데이터 추출
      • Oracle : is null
      • 파이썬 Pandas : isna(), isnull(), query()
      • R 프로그래밍 : is.na(), which(), is.na()
      • R Dplyr Package : filter(), is.na()
      • R sqldf Package : is null
      • Python pandasql Package : is null
      • R data.table Package : is.na()
      • SAS Proc SQL : is null, 결측치 선택
      • SAS Data Step : 결측치 선택
      • Python Dfply Package : filter_by, is.na(), isnull()
      • 파이썬 Base 프로그래밍 :

     


     

    97. Display grade and employees name for the dept no 10 or 30 but grade is not 4, while joined the company before 31-dec-82. [Link]

    • 부서번호 10 또는 30 에 근무하고, 급여 등급이 4 등급 이외 등급이고, 1982년 12월 31일 이전에 입사한 직원의 정보를 출력하시오.
    • [데이터 추출] 비등가 조인에 해당하는 데이터 추출
      • Oracle : 비등가 조인
      • 파이썬 Pandas : pd.merge(), assign(), query()
      • R 프로그래밍 : subset(), Merge(), character(), Between()
      • R Dplyr Package : dplyr::full_join(), dplyr::left_join(), character(), dplyr::filter(), between()
      • R sqldf Package : 비등가 조인
      • Python pandasql Package : 비등가 조인
      • R data.table Package : DT syntax 방식 비등가 조인
      • SAS Proc SQL : 비등가 조인
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현, IF 조건문
      • Python Dfply Package : left_join(), @pipe & def (inner_join_merge) 사용자 정의 함수, filter_by(), between()
      • 파이썬 Base 프로그래밍 :

     


     

    98. Update the salary of each employee by 10% increments that are not eligible for commission. [Link]

    • 커미션을 받을 수 없는 직원의 급여를 10%씩 인상하여서 업데이트 하여라.
    • [데이터 변환] 조건절을 만족하는 데이터 변경
      • Oracle : update 구문
      • 파이썬 Pandas : np.where(), isna(), loc[], apply(), lambda() 함수
      • R 프로그래밍 : ifelse(), transform()
      • R Dplyr Package : dplyr::mutate(), is.na(), ifelse(), case_when()
      • R sqldf Package : update 구문
      • Python pandasql Package : update 구문
      • R data.table Package : is.na(), ifelse(), dplyr::case_when()
      • SAS Proc SQL : update 구문, CASE WHEN 절
      • SAS Data Step : IF 조건문
      • Python Dfply Package : mutate(), make_symbolic(), np.where()
      • 파이썬 Base 프로그래밍 :

     


     

    99. Delete those employees who joined the company before 31-dec-82 while there dept location is 'NEW YORK' or 'CHICAGO'. [Link]

    • 근무 부서가 'NEW YORK' 또는 'CHICAGO'에 위치하고, 1982년 12월 31일 이전에 근무한 사람의 정보를 삭제하라.
    • [데이터 삭제] Where 조건절을 만족하는 데이터 삭제-비상관서브쿼리
      • Oracle : Delete 구문, in 연산자, 비상관 서브쿼리
      • 파이썬 Pandas : isin(), NOT('~') 연산자
      • R 프로그래밍 : %in%, NOT('!') 연산자
      • R Dplyr Package : dplyr::filter(), NOT('!') 연산자
      • R sqldf Package : Delete 구문, in 연산자, 비상관 서브쿼리
      • Python pandasql Package : Not 연산자, in 연산자, 비상관 서브쿼리
      • R data.table Package : NOT('!') 연산자, %in%
      • SAS Proc SQL : Delete 구문(논리적 삭제), in 연산자, 비상관 서브쿼리
      • SAS Data Step : Merge 구문, Delete 구문, IF 조건문, NOT 연산자
      • Python Dfply Package : filter_by(), NOT('~') 연산자, isin()
      • 파이썬 Base 프로그래밍 :

     


     

    100. Display employee name, job, deptname, location for all who are working as managers. [Link]

    • 관리자 역할을 수행하는 직원의 정보를 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 를 만족하는 데이터 추출 - In 연산자와 내부조인(Inner Join)
      • Oracle : 비상관 서브쿼리, 내부조인
      • 파이썬 Pandas : query(), drop_duplicates(), merge(), lambda 함수, loc[], isin(), pd.merge()
      • R 프로그래밍 : merge()
      • R Dplyr Package : dplyr::inner_join()
      • R sqldf Package : 비상관 서브쿼리, 내부조인
      • Python pandasql Package : 비상관 서브쿼리, 내부조인
      • R data.table Package : unlist(), DT syntax 방식 데이터 결합, is.list(), is.vector(), typeof()
      • SAS Proc SQL : 비상관 서브쿼리, 내부조인
      • SAS Data Step : Merge, IF 조건문, Proc Sort의 Nodupkey 옵션
      • Python Dfply Package : inner_join()
      • 파이썬 Base 프로그래밍 :

     


     

    101. Display those employees whose manager names is Jones, and also display there manager name. [Link]

    • 관리자 이름이 'Jones'인 직원 이름과 관리자('Jones')의 이름을 출력하시오.
    • [데이터 추출] 내부조인(Inner join)을 만족하는 데이터 추출
      • Oracle : 내부결합
      • 파이썬 Pandas : pd.merge()
      • R 프로그래밍 : merge()
      • R Dplyr Package : dplyr::inner_join()
      • R sqldf Package : 내부결합
      • Python pandasql Package : 내부결합
      • R data.table Package : DT syntax 방식 데이터 결합
      • SAS Proc SQL : 내부결합
      • SAS Data Step : Merge 구문, IF 조건문
      • Python Dfply Package : @pipe & Def 사용자 정의 함수(inner_join_merge)
      • 파이썬 Base 프로그래밍 :

     


     

    102. Display name and salary of ford if his Sal is equal to high Sal of his grade. [Link]

    • 직원 Ford의 급여가 해당 급여 등급의 최고 급여('hisal')와 같은 경우에 이름과 연봉을 출력하시오.
    • [데이터 추출] 비상관 서브쿼리(Uncorrelated Subqueyr) 와 상관 서브쿼리(Correlated Subqueyr)를 만족하는 데이터 추출 - 비등가조인(NON-EQUI JOIN) 데이터 결합
      • Oracle : 비상관 서브쿼리와 상관 서브쿼리, 비등가 데이터 결합
      • 파이썬 Pandas : pd.merge(), query()
      • R 프로그래밍 : merge(), Subset()
      • R Dplyr Package : dplyr::full_join(), dplyr::filter()
      • R sqldf Package : 비상관 서브쿼리와 상관 서브쿼리, 비등가 데이터 결합
      • Python pandasql Package : 비상관 서브쿼리와 상관 서브쿼리, 비등가 데이터 결합
      • R data.table Package : 비등가조인(NON-EQUI JOIN)
      • SAS Proc SQL : 비상관 서브쿼리와 상관 서브쿼리, 비등가 데이터 결합
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현
      • Python Dfply Package : full_join(), filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    103. Display employee name, his job, his dept name, his manager name, his grade and make out of an under department wise. [Link]

    • 직원이름, 직무, 부서명, 관리자명, 직원 급여 등급을 부서번호를 기준으로 정렬하여서 출력하시오.

    [데이터 추출] 비등가 FULL 조인(NON-EQUI FULL JOIN)을 통한 데이터 결합

    • Oracle : 비등가조인(NON-EQUI JOIN)
    • 파이썬 Pandas : pd.merge, assign(), query()
    • R 프로그래밍 : base::merge(), subset()
    • R Dplyr Package : dplyr::inner_join(), dplyr::full_join(), dplyr::filter()
    • R sqldf Package : 비등가조인(NON-EQUI JOIN)
    • Python pandasql Package : 비등가조인(NON-EQUI JOIN)
    • R data.table Package : 비등가조인(NON-EQUI JOIN) 방식 데이터 결합
    • SAS Proc SQL : 비등가조인(NON-EQUI JOIN)
    • SAS Data Step : Merge 구문, IF 조건문, CROSS JOIN (카테시안 곱) 구현
    • Python Dfply Package : @pipe & Def 사용자 정의 함수(inner_join_merge), full_join()
    • 파이썬 Base 프로그래밍 :

     


     

    104. List out all the employees name, job, and salary grade and department name for every one in the company except ‘CLERK’. Sort on salary display the highest salary. [Link]

    • 사무직('CLERK') 직원을 제외한 직월들의 이름, 직무, 부서명, 직원 급여 등급을 높은(내림차순 기준) 급여 기준으로 정렬하여서 출력하시오.

    [데이터 추출] 비등가 FULL 조인(NON-EQUI FULL JOIN)을 통한 데이터 결합 및 데이터 정렬(SORT)

    • Oracle : 비등가조인(NON-EQUI JOIN), Order by
    • 파이썬 Pandas : pd.merge, assign(), query(), sort_values()
    • R 프로그래밍 : base::merge(), subset(), order()
    • R Dplyr Package : dplyr::inner_join(), dplyr::full_join(), dplyr::filter(), dplyr::arrange()
    • R sqldf Package : 비등가조인(NON-EQUI JOIN), Order by
    • Python pandasql Package : 비등가조인(NON-EQUI JOIN), Order by
    • R data.table Package : 비등가조인(NON-EQUI JOIN) 방식 데이터 결합, order()
    • SAS Proc SQL : 비등가조인(NON-EQUI JOIN), Order by
    • SAS Data Step : Merge 구문, IF 조건문, CROSS JOIN (카테시안 곱) 구현, proc sort
    • Python Dfply Package : @pipe & Def 사용자 정의 함수(inner_join_merge), full_join(), arrange()
    • 파이썬 Base 프로그래밍 :

     


     

    105. Display employee name, his job and his manager. Display also employees who are without manager. [Link]

    • 직원 이름, 직무, 담당 관리자명을 출력하시오. 더불어 담당 관리자가 없는 직원도 함께 출력하시오.
    • [데이터 추출] Left Join 과 데이터 상하 결합(UNION)
      • Oracle : Left join과 Union all, is null
      • 파이썬 Pandas : pd.merge(), pd.concat(), assign(), isnull()
      • R 프로그래밍 : pd.merge(), np.where(), str.replace() - 변수명 변경, cbind(), rbind(), ifelse(), transform(), is.na()
      • R Dplyr Package : dplyr::inner_join(), dplyr::rename() - 변수명 변경, dplyr::union (), is.na()
      • R sqldf Package : Left join과 Union all, is null
      • Python pandasql Package : Left join과 Union all, is null
      • R data.table Package : DT syntax 방식 데이터 결합, data.table::funion(), is.na(), 변수명 변경, merge 방식 Left join
      • SAS Proc SQL : Left join과 Union, is null
      • SAS Data Step : Merge 구문, IF 조건문, Set 상하 결합
      • Python Dfply Package : @pipe & Def 사용자 정의 함수(inner_join_merge), rename(), union()
      • 파이썬 Base 프로그래밍 :

     


     

    106. Find out the top 5 earner of company [Link]

    • 최대 급여 수령자 상위 5명의 정보를 출력하시오.
    • [데이터 추출] 상위 Top 5 추출
      • Oracle : ROW_NUMBER()
      • 파이썬 Pandas : nlargest()
      • R 프로그래밍 : order(), row_number()
      • R Dplyr Package : slice_max(), top_n()
      • R sqldf Package : ROW_NUMBER(), RANK()
      • Python pandasql Package : ROW_NUMBER(), RANK()
      • R data.table Package : order()
      • SAS Proc SQL : monotonic()
      • SAS Data Step : PROC RANK, N
      • Python Dfply Package : row_number(), min_rank()
      • 파이썬 Base 프로그래밍 :

     


     

    107. Display the name of those employees who are getting highest salary. [Link]

    • 최대 급여 수령자의 정보를 출력하시오.
    • [데이터 추출] 최대값 추출
      • Oracle : Max()
      • 파이썬 Pandas : nlargest()
      • R 프로그래밍 : order(), row_number()
      • R Dplyr Package : slice_max(), top_n()
      • R sqldf Package : ROW_NUMBER()
      • Python pandasql Package : Max()
      • R data.table Package : order()
      • SAS Proc SQL : max(), HAVING MAX(), MONOTONIC()
      • SAS Data Step : PROC RANK, N
      • Python Dfply Package : row_number(), min_rank(), nth(), first()
      • 파이썬 Base 프로그래밍 :

     


     

    108. Display those employees whose salary is equal to average of maximum and minimum.

    • 최대 급여와 최소급여의 평균보다 더 많은 급여를 수령하는 직원의 정보를 출력하시오. ( = 에서 > 으로 변경)
    • [데이터 추출] 최소값과 최대값
      • Oracle : min(), max()
      • 파이썬 Pandas : .loc[], min(), max(), query()
      • R 프로그래밍 : min(), max(), subset()
      • R Dplyr Package : min(), max(), filter()
      • R sqldf Package : min(), max()
      • Python pandasql Package : min(), max()
      • R data.table Package : min(), max()
      • SAS Proc SQL : min(), max()
      • SAS Data Step : PROC SUMMARY의 min, max 옵션, Macro 변수 할당 방식
      • Python Dfply Package : min(), max()
      • 파이썬 Base 프로그래밍 :

     


     

    109. Display count of employees in each department where count greater than 3. [Link]

    • 부서내 직원 수가 4명 이상인 부서의 부서명과 직원수를 출력하시오.
    • 유사문제 : 109, 176, 185
    • [데이터 추출] 그룹 집계 후 특정 조건을 만족하는 그룹의 집계 통계량 출력
      • Oracle : group by, having count(*)
      • 파이썬 Pandas : groupby(), query(), agg(), filter(), lambda 함수
      • R 프로그래밍 : aggregate(), subset(), FUN = function(x) 사용자 정의 함수, list(), tapply()
      • R Dplyr Package : group_by(), dplyr::summarise, n(), dplyr::tally(), dplyr::count(), nrow(.), do(), dplyr::filter()
      • R sqldf Package : group by, having count(*)
      • Python pandasql Package : group by, having count(*)
      • R data.table Package : .SD (Subset of Dataframe), keyby =, .N
      • SAS Proc SQL : group by, having count(*)
      • SAS Data Step : PROC SUMMARY, FIRST. and LAST.
      • Python Dfply Package : group_by, summarize()
      • 파이썬 Base 프로그래밍 :

     


     

    110. Display dname where at least 3 are working and display only dname.

    • 부서내 직원 수가 4명 이상인 부서의 부서 정보를 출력하시오.
    • [데이터 추출] 해당 그룹에 대한 특정 조건을 만족하는 그룹 리스트 출력
      • Oracle : 비상관 서브쿼리, having count(*)
      • 파이썬 Pandas : isin(), groupby(), count(), query(), pd.merge()
      • R 프로그래밍 : subset(), aggregate(), merge(), subset()
      • R Dplyr Package : %in%, dplyr::tally(), dplyr::filter(), dplyr::pull(), dplyr::inner_join()
      • R sqldf Package : 비상관 서브쿼리, having count(*)
      • Python pandasql Package : 비상관 서브쿼리, having count(*)
      • R data.table Package : DT syntax 방식 데이터 결합, .N, %in%
      • SAS Proc SQL : 비상관 서브쿼리, having count(*)
      • SAS Data Step : PROC SUMMARY, Merge 구문, IF 조건문
      • Python Dfply Package : @dfpipe & def 사용자 정의 함수(pull_fun), isin(), summarize(), n()
      • 파이썬 Base 프로그래밍 :

     


     

    111. Display name of those managers name whose salary is more than average salary of company. [Link]

    • 회사 평균 급여보다 더 많은 급여를 받는 관리자의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리, 평균
      • Oracle : 비상관 서브쿼리, avg()
      • 파이썬 Pandas : mean()
      • R 프로그래밍 : mean()
      • R Dplyr Package : dplyr::summarise(), mean(), dplyr::pull()
      • R sqldf Package : 비상관 서브쿼리, avg()
      • Python pandasql Package : 비상관 서브쿼리, avg()
      • R data.table Package : DT[], mean()
      • SAS Proc SQL : 비상관 서브쿼리, avg()
      • SAS Data Step : Merge 구문, IF 조건문, PROC SUMMARY, CROSS JOIN (카테시안 곱) 구현
      • Python Dfply Package : @pipe & def 사용자 정의 함수(pull_list), @dfpipe & def 사용자 정의 함수(pull_fun), summarize(), mean()
      • 파이썬 Base 프로그래밍 :

     


     

    112. Display those managers name whose salary is more than an average salary of his employees. [Link]

    • 담당하고 있는 부서에 속한 직원들의 평균 급여보다 더 많은 급여를 수령하고 있는 관리자 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 상관 서브쿼리, 평균
      • Oracle : 상관 서브쿼리, avg()
      • 파이썬 Pandas : pd.merge(), agg(), np.mean
      • R 프로그래밍 : merge(), subset(), aggregate(), function(x) 사용자 정의 함수, mean()
      • R Dplyr Package : dplyr::inner_join(), summarise(), mean()
      • R sqldf Package : 상관 서브쿼리, avg()
      • Python pandasql Package : 상관 서브쿼리, avg()
      • R data.table Package : DT syntax 방식 데이터 결합, %in%, mean()
      • SAS Proc SQL : 비상관 서브쿼리, avg()
      • SAS Data Step : PROC SORT의 Nodupkey 옵션, Merge 구문, IF 조건문, PROC SUMMARY 의 Mean
      • Python Dfply Package : @pipe & def 사용자 정의 함수(pull_list), @pipe & def 사용자 정의 함수(inner_join_merge), summarize(), mean()
      • 파이썬 Base 프로그래밍 :

     


     

    113. Display employee name, Sal, comm and net pay for those employees whose net pay are greater than or equal to any other employee salary of the company? [Link]

    • 수수료(commission)를 포함한 직원의 급여가 다른 직원의 일반 급여보다 크거나 같은 직원의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 결측치 대체, 카테시안 곱(Cartesian Product) - Full Join, Any 연산자
      • Oracle : nvl(), any(), min()
      • 파이썬 Pandas : pd.merge(), assign() - Full Join, query(), Min()
      • R 프로그래밍 : merge(), subset(), by= character() - Full Join, aggregate(), ifelse() 조건절, is.na()
      • R Dplyr Package : dplyr::inner_join(), dplyr::full_join(), dplyr::summarise(), min(), ifelse() 조건절, is.na()
      • R sqldf Package : ifnull(), min(), EXISTS() 연산자
      • Python pandasql Package : ifnull(), min(), EXISTS() 연산자
      • R data.table Package : DT Syntax 데이터 결합(allow.cartesian), data.table::merge() syntax 데이터 결합, fuzzyjoin::fuzzy_left_join, fcoalesce(), min()
      • SAS Proc SQL : COALESCE(), any(), min(), EXISTS() 연산자
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현, PROC SUMMARY의 Min, Merge 구문, IF 조건문, COALESCE()
      • Python Dfply Package : @pipe & def 사용자 정의 함수(inner_join_merge), full_join(), summarize(), min(), make_symbolic(), np.where()
      • 파이썬 Base 프로그래밍 :

     


     

    114. Display those employees whose salary is less than his manager but more than salary of any other managers. [Link]

    • 급여가 담당 관리자보다 적지만 다른 부서의 관리자보다 더 많은 급여를 수령하는 직원의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 상관 서브쿼리 & 카테시안 곱(Cartesian Product)
      • Oracle : 상관 서브쿼리, Any() 연산자
      • 파이썬 Pandas : pd.merge() 와 assign(foo=1) - 카테시안 곱(Cartesian Product), Query(), lambda 함수, re.sub() - 변수명 변경
      • R 프로그래밍 : subset(), merge() 의 by= character() 옵션 - 카테시안 곱(Cartesian Product), rename(), %like%, sub(), colnames()
      • R Dplyr Package : dplyr::inner_join(), dplyr::rename_all(), gsub(), dplyr::full_join() 의 by = character() 옵션 - 카테시안 곱(Cartesian Product), dplyr::summarise(), min()
      • R sqldf Package : 상관 서브쿼리, EXISTS() 연산자, min()
      • Python pandasql Package : 상관 서브쿼리, EXISTS() 연산자, min()
      • R data.table Package : DT Syntax 데이터 결합의 [,k:=1] 와 allow.cartesian=TRUE - 카테시안 곱(Cartesian Product), grep(), colnames()
      • SAS Proc SQL : 상관 서브쿼리, Any() 연산자, EXISTS() 연산자, min()
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현, PROC SUMMARY의 Min, MERGE 구문, IF 조건문
      • Python Dfply Package : @pipe & def 사용자 정의 함수(inner_join_merge), full_join() & .assign(foo=1) - 카테시안 곱(Cartesian Product), summarize(), Min()
      • 파이썬 Base 프로그래밍 :

     


     

    115. Display all employees names with total Sal of company with employee name. [Link]

    • 전체 직원명 명단과 함께 전체 직원의 급여 합계를 함께 출력하시오.
    • [데이터 추출] 전체 합계 추가하기 - 스칼라 서브쿼리(Scala Subquery)과 Cross join
      • Oracle : 스칼라 서브쿼리(Scala Subquery)과 Cross join, sum()
      • 파이썬 Pandas : pd.merge()의 Cross Join(카테시안곱)
      • R 프로그래밍 : merge()의 Cross Join(카테시안곱)
      • R Dplyr Package : dplyr::mutate(), dplyr::full_join()의 Cross Join(카테시안곱)
      • R sqldf Package : 스칼라 서브쿼리(Scala Subquery)과 Cross join
      • Python pandasql Package : 스칼라 서브쿼리(Scala Subquery)과 Cross join
      • R data.table Package : sum()
      • SAS Proc SQL : 스칼라 서브쿼리(Scala Subquery)과 Cross join, sum()
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현, Macro 변수, Proc sql의 into, CALL SYMPUT()
      • Python Dfply Package : full_join()의 Cross Join(카테시안곱)
      • 파이썬 Base 프로그래밍 :

     


     

    116. Find out the last 5(least) earner of the company? [Link]

    • 최소 급여 수령자 하위 5명의 정보를 출력하시오.
    • 유사문제 : 117번(상위 Top5)
    • [데이터 추출] 하위 Top 5 추출 - 윈도우 함수
      • Oracle : ROW_NUMBER(), RANK()
      • 파이썬 Pandas : pd.merge()의 Cross Join(카테시안곱), nlargest()
      • R 프로그래밍 : aggregate(), function(x) 사용자 정의 함수, fuzzyjoin::fuzzy_left_join(), subset(), order(), row_number()
      • R Dplyr Package : fuzzyjoin::fuzzy_left_join(), dplyr::full_join(), dplyr::summarise(), n_distinct(), dplyr::inner_join()
      • R sqldf Package : ROW_NUMBER(), RANK()
      • Python pandasql Package : ROW_NUMBER(), RANK()
      • R data.table Package : DT Syntax 방식 데이터 결합의 Cross Join(카테시안곱), fuzzyjoin::fuzzy_left_join(), ifelse()
      • SAS Proc SQL : monotonic()
      • SAS Data Step : PROC RANK, N
      • Python Dfply Package : apply 함수, lambda 함수, make_symbolic(), if_else(), np.where, case_when(), replace()
      • 파이썬 Base 프로그래밍 :

     


     

    117. Find out the number of employees whose salary is greater than there manager salary? [Link]

    • 담당 관리자의 급여보다 더 많이 받는 직원의 숫자를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 상관 서브쿼리
      • Oracle : 상관 서브쿼리, Self join
      • 파이썬 Pandas : merge(), filter(), query()
      • R 프로그래밍 : merge(), subset(), count(), nrow()
      • R Dplyr Package : inner_join (), dplyr::summarize()
      • R sqldf Package : 상관 서브쿼리, Self join
      • Python pandasql Package : 상관 서브쿼리, Self join
      • R data.table Package : DT Syntax 방식의 데이터 결합, .N
      • SAS Proc SQL : 상관 서브쿼리, Self join
      • SAS Data Step : DT Syntax의 내부조인, .N, nrow()
      • Python Dfply Package : MERGE구문, IF 조건문, Proc SUMMARY의 N
      • 파이썬 Base 프로그래밍 :

     


     

    118. Display those manager who are not working under president but they are working under any other manager? [Link]

    • 직속 상사가 사장이 아닌 일반 관리자 밑에서 근무하는 직원의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(IN 연산자)
      • Oracle : 비상관 서브쿼리, IN 연산자
      • 파이썬 Pandas : isin()
      • R 프로그래밍 : %in%, unlist()
      • R Dplyr Package : %in%
      • R sqldf Package : 비상관 서브쿼리, IN 연산자
      • Python pandasql Package : 비상관 서브쿼리, IN 연산자
      • R data.table Package : %in%, unlist()
      • SAS Proc SQL : 비상관 서브쿼리, IN 연산자
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현
      • Python Dfply Package : @pipe & def 사용자 정의 함수(pull_list), isin()
      • 파이썬 Base 프로그래밍 :

     


     

    119. Delete those department where no employee working?

    • DEPT 테이블에서 직원이 근무하지 않는(배정되어 있지 않은) 부서 정보를 삭제하시오.
    • [데이터 추출] 특정 조건에 해당하는 데이터 삭제 - 상관 서브쿼리
      • Oracle : 상관 서브쿼리, Delete 구문
      • 파이썬 Pandas : pd.merge(), query()
      • R 프로그래밍 : merge(), subset(), aggregate(), setNames() - 변수명 설정, names()
      • R Dplyr Package : dplyr::left_join(), dplyr::tally(), dplyr::filter()
      • R sqldf Package : 상관 서브쿼리, Delete 구문, Left Join
      • Python pandasql Package : 상관 서브쿼리, Delete 구문
      • R data.table Package : DT Syntax 방식 데이터 결합, Merge 방식의 데이터 결합, .N, keyby=
      • SAS Proc SQL : 상관 서브쿼리, Delete 구문, Left Join
      • SAS Data Step : PROC SUMMARY의 N, Merge 구문, If 조건문
      • Python Dfply Package : left_join(), summarize(), count(), filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    120. Delete those records from EMP table whose deptno not available in dept table? [Link]

    • EMP 사원관리 테이블에서 dept 부서관리 테이블에 존재하지 않는 부서코드('depnot')가 부여된 사원 정보를 삭제하시오.
    • [데이터 추출] 특정 조건에 해당하는 데이터 삭제 - 비상관 서브쿼리(Not in 연산자)
      • Oracle : 비상관 서브쿼리, Delete 구문, Not in
      • 파이썬 Pandas : isin(), notnull(), describe(), pd.merge(), query(), notnull()
      • R 프로그래밍 : %in%, unlist(), merge(), subset(), count(), is.na(), NOT('!') 연산자
      • R Dplyr Package : dplyr::left_join(), dplyr::tally(), NOT('!') 연산자
      • R sqldf Package : 비상관 서브쿼리, Delete 구문, Not in, Left Join, is not null
      • Python pandasql Package : 비상관 서브쿼리, in 연산자, Left Join, is not null, drop() - 변수 삭제
      • R data.table Package : %in%
      • SAS Proc SQL : 비상관 서브쿼리, Delete 구문, Not in, in 연산자, Left Join, is not null
      • SAS Data Step : Merge 구문, If 조건문
      • Python Dfply Package : left_join(), summarize(), count(), notnull()
      • 파이썬 Base 프로그래밍 :

     


     

    121. Display those earners whose salary is out of the grade available in Sal grade table? [Link]

    • 직원 급여가 급여 등급 테이블에서 관리하는 급여 범위를 벗어나서 존재하지 않는 직원의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(최대값, 최소값)
      • Oracle : 비상관 서브쿼리, Min(), Max(), Not Between 연산자
      • 파이썬 Pandas : min(), max(), Or('|'), between(), 지역변수(Local variables) 할당
      • R 프로그래밍 : min(), max(), Or('|'), which(), subset()
      • R Dplyr Package : min(), max(), Or('|'), between()
      • R sqldf Package : 비상관 서브쿼리, Min(), Max(), Not Between 연산자
      • Python pandasql Package : 비상관 서브쿼리, Min(), Max(), Not Between 연산자
      • R data.table Package : min(), max(), NOT('!') 연산자, between(), unlist()
      • SAS Proc SQL : 비상관 서브쿼리, Min(), Max(), Not Between 연산자
      • SAS Data Step : PROC SUMMARY의 MIN 과 MAX, CROSS JOIN (카테시안 곱) 구현, , Macro 변수 할당, CALL SYMPUT()
      • Python Dfply Package : min(), max(), Or('|'), between(), NOT('~') 연산자
      • 파이썬 Base 프로그래밍 :

     


     

    122. Display employee name, Sal, comm. and whose net pay is greater than any other in the company? [Link]

    • 수수료(commission)를 포함한 직원의 급여를 가장 많이 수령하는 직원의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(최대값), 결측치 처리
      • Oracle : 비상관 서브쿼리, Nvl(), max()
      • 파이썬 Pandas : isna(), np.where(), max()
      • R 프로그래밍 : is.na(), ifelse(), max()
      • R Dplyr Package : is.na(), ifelse(), max()
      • R sqldf Package : 비상관 서브쿼리, ifnull(), max()
      • Python pandasql Package : 비상관 서브쿼리, ifnull(), max()
      • R data.table Package : fcoalesce(), unlist()
      • SAS Proc SQL : 비상관 서브쿼리, coalesce(), IFN(), max(), all() 연산자, NOT EXISTS 연사자
      • SAS Data Step : COALESCE(), IF 조건문, CROSS JOIN (카테시안 곱) 구현, Proc Summary의 Max, Merge 구문
      • Python Dfply Package : make_symbolic(), np.where(), Max()
      • 파이썬 Base 프로그래밍 :

     


     

    123. Display name of those employees who are going to retire 31-dec-99. If the maximum job is period is 18 years? [Link]

    • 1999년 12월 31일 일자로 퇴직자 명단을 출력하시오. 퇴직자는 근무기간이 18년을 초과하는 직원.
    • [날짜 함수]날짜 함수를 사용한 기준월 사이의 기간(Gap) 계산
      • Oracle : To_date()
      • 파이썬 Pandas : apply(), Lambda 함수, relativedelta.relativedelta(), dt.todatetime(), dt.days
      • R 프로그래밍 : difftime(), as.Date()
      • R Dplyr Package : difftime(), as.Date()
      • R sqldf Package : strftime() 날짜 포맷, round()
      • Python pandasql Package : strftime() 날짜 포맷, round(), typeof() 변수 타입 확인
      • R data.table Package : difftime(), as.Date()
      • SAS Proc SQL : intck(), Input 함수(문자형 날짜를 날짜형으로), Year(), Ceil(), YRDIF(), Datdif()
      • SAS Data Step : intck(), Input 함수(문자형 날짜를 날짜형으로), Year(), Ceil(), YRDIF(), Datdif()
      • Python Dfply Package : @make_symbolic & def 사용자 정의 함수(to_datetime), dt.datetime()
      • 파이썬 Base 프로그래밍 :

     


     

    124. Display those employees whose salary is ODD value? [Link]

    • 급여가 홀수인 직원을 출력하시오.
    • [수치형 함수] 나머지 반환 함수-Mod 함수
      • Oracle : Mod() 함수
      • 파이썬 Pandas : %
      • R 프로그래밍 : %%, numbers::mod()
      • R Dplyr Package : %%, numbers::mod()
      • R sqldf Package : %
      • Python pandasql Package : %
      • R data.table Package : %%, numbers::mod()
      • SAS Proc SQL : Mod() 함수
      • SAS Data Step : Mod() 함수
      • Python Dfply Package : %
      • 파이썬 Base 프로그래밍 :

     


     

    125. Display those employees whose salary contains at least 4 digits? [Link]

    • 급여가 4자리 이상의 급여를 수령하는 직원을 출력하시오.
    • [문자 함수] 특정 문자열의 길이를 측정 - Length 함수
      • Oracle : Length()
      • 파이썬 Pandas : .str.len(), .astype(str)
      • R 프로그래밍 : stringr::str_length()
      • R Dplyr Package : stringr::str_length()
      • R sqldf Package : Length(), typeof() 변수 타입 확인, cast() 변수 타입 변환
      • Python pandasql Package : Length()
      • R data.table Package : stringr::str_length()
      • SAS Proc SQL : Length(), COMPRESS(), PUT() 변수 타입 변환(수치형을 수치형태의 문자로 변환), LIKE 연산자, prxmatch() 정규식 함수
      • SAS Data Step : Length(), COMPRESS(), PUT() 변수 타입 변환(수치형을 수치형태의 문자로 변환), LIKE 연산자, prxmatch() 정규식 함수
      • Python Dfply Package : .str.len(), .astype(str)
      • 파이썬 Base 프로그래밍 :

     


     

    126. Display those employees who joined in the company in the month of DEC? [Link]

    • 12월에 입사원 사원들의 정보를 출력하시오.
    • [데이터 추출] 특정 날짜에 해당하는 데이터 추출 - 영문월(Month) 처리, 날자형 데이터 날짜형 문자로 변환
      • Oracle : to_cahr(), upper()
      • 파이썬 Pandas : pd.to_datetime(), month_name()
      • R 프로그래밍 : toupper(), month.add, month(), as.Date(), transform(), substr(), format()
      • R Dplyr Package : toupper(), month.abb(), month(), as.Date()
      • R sqldf Package : strftime()
      • Python pandasql Package : strftime()
      • R data.table Package : toupper(), month.abb(), month(), as.Date()
      • SAS Proc SQL : month(), substr(), Put() 의 monname 포맷, Input()
      • SAS Data Step : month(), substr(), Put() 의 monname 포맷, Input()
      • Python Dfply Package : make_symbolic(), pd.to_datetime(), month_name(), slice(), upper()
      • 파이썬 Base 프로그래밍 :

     


     

    127. Display those employees whose name contains "A"? [Link]

    • 이름에 영문자 "A"가 포함된 직원들의 정보를 출력하시오.
    • [문자 함수] 문자열에서 문자 검색 - 문자 검색 함수(Instr 함수)
      • Oracle : Instr 함수, Like
      • 파이썬 Pandas : .str.contains()
      • R 프로그래밍 : %like%
      • R Dplyr Package : %like%
      • R sqldf Package : Like 연산자, Instr 함수
      • Python pandasql Package : Like 연산자, Instr 함수
      • R data.table Package : %like%
      • SAS Proc SQL : index 함수, Find 함수, Scan 함수
      • SAS Data Step : index 함수, Find 함수, Scan 함수
      • Python Dfply Package : .str.contains()
      • 파이썬 Base 프로그래밍 :

     


     

    128. Display those employees whose deptno is available in salary? [Link]

    • [문제 변경] 사원번호(empno)가 관리자 사원번호(mgr) 에 존재하는 사원을 선택하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(In), 중복 제거(Distinct)
      • Oracle : 비상관 서브쿼리, In 연산자, Disitnct 연산자
      • 파이썬 Pandas : isin(), list(), unique()
      • R 프로그래밍 : %in%, unlist(), unique()
      • R Dplyr Package : %in%, unlist(), unique()
      • R sqldf Package : 비상관 서브쿼리, In 연산자, Disitnct 연산자
      • Python pandasql Package : 비상관 서브쿼리, In 연산자, Disitnct 연산자
      • R data.table Package : %in%, unlist(), unique()
      • SAS Proc SQL : 비상관 서브쿼리, In 연산자, Disitnct 연산자
      • SAS Data Step : PROC SUMMARY, CROSS JOIN (카테시안 곱) 구현, IF 조건문
      • Python Dfply Package : isin()
      • 파이썬 Base 프로그래밍 :

     


     

    129. Display those employees whose first 2 characters from hire date-last 2 characters of salary? [Link]

    • 입사일자에서 첫 2글자와 급여의 마지막 2글자로 구성된 신규 변수를 생성하시오.
    • [변수 생성] 신규 변수 생성 - 문자 추출과 문자 결합
      • Oracle : substr(), to_char(), 문자 결합 연산자('||')
      • 파이썬 Pandas : str.slice(), 문자 결합 연산자('+'), astype(str)
      • R 프로그래밍 : paste(), paste0(), base::substr(), stringr::str_sub()
      • R Dplyr Package : dplyr::mutate(), stringi::stri_join(), stringr::str_c(), paste(), paste0(), stringr::str_sub()
      • R sqldf Package : typeof() 변수 형태 확인, datetime(), substr(), strftime(), cast(), 문자 결합 연산자('||')
      • Python pandasql Package : typeof() 변수 형태 확인, datetime(), substr(), strftime(), cast(), 문자 결합 연산자('||')
      • R data.table Package : stringi::stri_join(), stringr::str_c(), paste(), paste0(), stringr::str_sub()
      • SAS Proc SQL : put(), strip(), substr(), reverse(), prxchange() 정규식 함수, 문자 결합 연산자('||'), cat 함수, cats 함수
      • SAS Data Step : put(), strip(), substr(), reverse(), prxchange() 정규식 함수, 문자 결합 연산자('||'), cat 함수, cats 함수
      • Python Dfply Package : .str.slice(), astype(str), 문자 결합 연산자('+')
      • 파이썬 Base 프로그래밍 :

     


     

    130. Display those employees whose 10% of salary is equal to the year of joining? [Link]

    • 입사일자의 첫 2 숫자(19)가 급여의 1%보다 큰 직원들의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 문자 추출, 문자형 수치를 수치형으로 변환
      • Oracle : to_char()
      • 파이썬 Pandas : pd.to_numeric(), str.slice()
      • R 프로그래밍 : as.numeric(), base::substr()
      • R Dplyr Package : as.numeric(), stringr::str_sub()
      • R sqldf Package : typeof(), datetime(), substr(), cast()
      • Python pandasql Package : typeof(), datetime(), substr(), cast()
      • R data.table Package : as.numeric(), stringr::str_sub()
      • SAS Proc SQL : SUBSTR(), PUT, input(), year()
      • SAS Data Step : SUBSTR(), PUT, input(), year()
      • Python Dfply Package : make_symbolic(), pd.to_numeric(), str.slice()
      • 파이썬 Base 프로그래밍 :

     


     

    131. Display those employees who are working in sales or research? [Link]

    • 영업부서('SALES') 또는 연구부서('RESEARCH')에서 근무하고 있는 직원들의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(In)
      • Oracle : 비상관 서브쿼리, in 연산자
      • 파이썬 Pandas : isin()
      • R 프로그래밍 : %in%, unlist()
      • R Dplyr Package : %in%, unlist()
      • R sqldf Package : 비상관 서브쿼리, in 연산자
      • Python pandasql Package : 비상관 서브쿼리, in 연산자
      • R data.table Package : %in%, unlist()
      • SAS Proc SQL : 비상관 서브쿼리, in 연산자
      • SAS Data Step : Merge 구문, IF 조건문
      • Python Dfply Package : @pipe & def 사용자 정의 함수(pull_list), isin(),filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    132. Display the grade of Jones? [Link]

    • Jones의 급여에 해당하는 급여 등급을 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(부등호), 비등가 조인
      • Oracle : 비상관 서브쿼리, 비등가 조인, Between 연산자
      • 파이썬 Pandas : pd.merge 의 Cross join(카테시안 곱-Cartesian Product), assign, query()
      • R 프로그래밍 : subset(), merge 의 Cross join(카테시안 곱-Cartesian Product), Between 연산자
      • R Dplyr Package : dplyr::full_join 의 Cross join(카테시안 곱-Cartesian Product), between
      • R sqldf Package : 비상관 서브쿼리, 비등가 조인, Between 연산자
      • Python pandasql Package : 비상관 서브쿼리, 비등가 조인, Between 연산자
      • R data.table Package : DT Syntax 방식의 Cross join(카테시안 곱-Cartesian Product)
      • SAS Proc SQL : 비상관 서브쿼리, 비등가 조인, Between 연산자
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현, IF 조건문
      • Python Dfply Package : full_join 의 Cross join(카테시안 곱-Cartesian Product), filter_by(), between()
      • 파이썬 Base 프로그래밍 :

     


     

    133. Display those employees who joined the company before 15th of the month? [Link]

    • 입사일자가 매월 15일 이전에 입사한 직원들의 정보를 출력하시오.
    • [데이터 추출] 특정 날짜에 해당하는 데이터 추출 - 일자 추출
      • Oracle : To_char()
      • 파이썬 Pandas : datetime.now(), timestamp.strftime(), pd.to_numeric(), .str.slice()
      • R 프로그래밍 : as.numeric(), base::substr()
      • R Dplyr Package : as.numeric(), stringr::str_sub()
      • R sqldf Package : typeof(), cast(), substr(), datetime()
      • Python pandasql Package : typeof(), cast(), substr(), datetime(), strftime()
      • R data.table Package : as.numeric(), stringr::str_sub()
      • SAS Proc SQL : INPUT(), PUT(), DAY()
      • SAS Data Step : INPUT(), PUT(), DAY() 함수
      • Python Dfply Package : make_symbolic(), pd.to_numeric(), str.slice(), filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    134. Delete those records where no of employee in a particular department is less than 4? [Link]

    • 특정 부서의 직원이 4명 미만인 부서에서 근무하고 있는 직원들의 정보를 삭제하시오.
    • *[데이터 추출] 특정 조건을 해당하는 데이터 삭제 - 비상관 서브쿼리(In), Having count()**
      • Oracle : Delete 구문, 비상관 서브쿼리, Having count(*)
      • 파이썬 Pandas : isin(), NOT('~') 연산자, groupby(), count(), query(), pd.merge()
      • R 프로그래밍 : NOT('!') 연산자, unlist(), subset(), aggregate() 의 length, %in%, merge()
      • R Dplyr Package : NOT('!') 연산자, dplyr::tally(), dplyr::pull(), dplyr::inner_join()
      • R sqldf Package : Delete 구문, 비상관 서브쿼리, Having count(*)
      • Python pandasql Package : Delete 구문, 비상관 서브쿼리, Having count(*)
      • R data.table Package : %in%, NOT('!') 연산자, .N, DT Syntax 방식의 데이터 결합
      • SAS Proc SQL : Delete 구문, 비상관 서브쿼리, Having count(*), 논리적 삭제
      • SAS Data Step : proc summary 의 n, Merge 구문, IF 조건문, Delete 구문
      • Python Dfply Package : NOT('~') 연산자, summarize() 의 count(), @dfpipe & def 사용자 정의 함수(pull_fun)
      • 파이썬 Base 프로그래밍 :

     


     

    135. Delete those employees who joined the company 38 years back from today? [Link]

    • 오늘 날짜를 기준으로 입사년차가 40년이 경과한 직원들의 정보를 삭제하시오.
    • [데이터 추출] 특정 조건을 해당하는 데이터 삭제 - 기준일자 사이의 기간(Gap) 계산
      • Oracle : Delete 구문, sysdate, to_char()
      • 파이썬 Pandas : pd.Timestamp.now(), pd.to_datetime(), .dt.days
      • R 프로그래밍 : Sys.Date(), NOT('!') 연산자
      • R Dplyr Package : Sys.Date(), NOT('!') 연산자
      • R sqldf Package : julianday(), date(), typeof(), cast(), datetime(), gsubfn::fn$sqldf() 외부 변수 참조, Sys.Date(), Delete 구문
      • Python pandasql Package : julianday(), strftime()
      • R data.table Package : Sys.Date(), NOT('!') 연산자
      • SAS Proc SQL : round(), TODAY(), YRDIF()
      • SAS Data Step : round(), TODAY(), YRDIF()
      • Python Dfply Package : pd.Timestamp.now(), make_symbolic(), pd.to_datetime(), .dt.days
      • 파이썬 Base 프로그래밍 :

     


     

    136. Display the department name the no of characters of which is equal to no of employees in any other department? [Link]

    • 부서이름의 길이와 부서에 속한 부서원의 숫자와 같은 부서의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(In), 문자길이(length)
      • Oracle : 비상관 서브쿼리, Length()
      • 파이썬 Pandas : str.len(), Groupby(), count()
      • R 프로그래밍 : stringr::str_length(), %in%, unlist(), aggregate()의 length
      • R Dplyr Package : nchar(), as.character(), %in%, tally(), unlist()
      • R sqldf Package : 비상관 서브쿼리, Length()
      • Python pandasql Package : 비상관 서브쿼리, Length()
      • R data.table Package : stringr::str_length(), %in%, .N
      • SAS Proc SQL : 비상관 서브쿼리, Length()
      • SAS Data Step : LENGTH 함수, compress 함수, Proc summary의 N, Merge 구문, IF 조건문
      • Python Dfply Package : @pipe & def 사용자 정의 함수(pull_list), str.len() , isin(), summarize() 의 Count()
      • 파이썬 Base 프로그래밍 :

     


     

    137. Display those employees who are working as manager? [Link]

    • 관리자 역할을 수행하고 있는 직원들을 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(In), 중복 제거(Distinct)
      • Oracle : 비상관 서버쿼리, In 연산자, Distinct 중복제거
      • 파이썬 Pandas : isin()
      • R 프로그래밍 : %in%, unlist()
      • R Dplyr Package : %in%, unlist()
      • R sqldf Package : 비상관 서버쿼리, In 연산자, Distinct 중복제거
      • Python pandasql Package : 비상관 서버쿼리, In 연산자, Distinct 중복제거
      • R data.table Package : %in%
      • SAS Proc SQL : 비상관 서버쿼리, In 연산자, Distinct 중복제거
      • SAS Data Step : Proc Sort 의 Nodupkey, Merge 구문, IF 조건문
      • R dtplyr Package : lazy_dt, %in%, unlist()
      • R tidytable Package : tidytable::filter, %in%, unlist()
      • Python Dfply Package : row_slice(). isin(), @pipe & def 사용자 정의 함수(pull_list)
      • 파이썬 Base 프로그래밍 :

     


     

    138. Count the no of employees who are working as manager (use set operation)? [Link]

    • 관리자 역할을 수행하고 있는 직원들의 수를 카운트하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(In), 건수 카운트
      • Oracle : 비상관 서브쿼리, Count(*), intersect - 교집합
      • 파이썬 Pandas : isin(), count()
      • R 프로그래밍 : %in%, unlist(), count()
      • R Dplyr Package : %in%, unlist(), summarize() 의 n_distinct()
      • R sqldf Package : 비상관 서브쿼리, Count(*), intersect - 교집합
      • Python pandasql Package : 비상관 서브쿼리, Count(*), intersect - 교집합
      • R data.table Package : %in%, length()
      • SAS Proc SQL : 비상관 서브쿼리, Count(*), intersect - 교집합
      • SAS Data Step : PROC SORT 의 Nodupkey, Merge 구문, IF 조건문, Proc summary
      • R dtplyr Package : lazy_dt(), as_tibble(), unlist(), summarize()의 n()
      • R tidytable Package : tidytable::filter.(), %in%, unlist(), Count.()
      • Python Dfply Package : isin(), summarize() 의 n(), @pipe & def 사용자 정의 함수(pull_list), count()
      • 파이썬 Base 프로그래밍 :

     


     

    139. Display the name of then dept those employees who joined the company on the same date? [Link]

    • 동일한 일자에 입사한 직원의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 상관 서브쿼리(In), 내부조인
      • Oracle : 상관 서브쿼리, In 연산자, Not Equal('!=')
      • 파이썬 Pandas : merge(), Not Equal('!='), query(), filter() 변수 선택
      • R 프로그래밍 : subset(), Merge(), grep(), names()
      • R Dplyr Package : subset(), merge(), names(), %like%, inner_join()의 suffix, ends_with() 변수 선택
      • R sqldf Package : 상관 서브쿼리, In 연산자, Not Equal('!=')
      • Python pandasql Package : 상관 서브쿼리, In 연산자, Not Equal('!=')
      • R data.table Package : DT Syntax 방식의 데이터 결합,
      • SAS Proc SQL : 상관 서브쿼리, In 연산자, Not Equal('NE')
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현
      • Python Dfply Package : @pipe & def 사용자 정의 함수(inner_join_merge)의 suffixes, ends_with()
      • 파이썬 Base 프로그래밍 :

     


     

    140. Display those employees whose grade is equal to any number of Sal but not equal to first number of Sal? [Link]

    • 직원의 급여가 속한 급여등급을 조회 후 급여('sal)에서 급여 등급('grade')에 해당하는 자리수를 선택하여 급여 등급과 비교하여 서로 같고, 급여 등급과 급여의 첫 자리를 비교하여 서로 다른 직원들의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비등가조인(NON-EQUI JOIN) 데이터 결합, 문자열 추출(Substr)
      • Oracle : 비등가 데이터 결합, Between, substr()
      • 파이썬 Pandas : pd.merge()의 Cross Join(카테시안곱), query(), pd.to_numeric(), astype('str'), str.slie(), fillna() 결측치처리, apply(), Lambda 함수, replace(), np.NaN, between(), pd.Series(), IF 조건문, apply(str) 와 apply(int) 데이터형 변환
      • R 프로그래밍 : subset(), merge()의 Cross Join(카테시안곱), between(), stringr::str_sub()
      • R Dplyr Package : dplyr::full_join()의 Cross Join(카테시안곱), between(), stringr::str_sub()
      • R sqldf Package : 비등가 데이터 결합, Between 연산자, substr()
      • Python pandasql Package : 비등가 데이터 결합, Between 연산자, substr()
      • R data.table Package : DT syntax 방식의 비등가 데이터 결합, substr()
      • SAS Proc SQL : 비등가 데이터 결합, Between, substr(), input() 와 Put() 데이터형 변환 함수, strip()
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현, Length 함수, IF 조건문, substr 함수, input() 와 Put() 데이터형 변환 함수, sbrip 함수
      • Python Dfply Package : full_join()의 Cross Join(카테시안곱), apply(), lambda 함수, pd.Series(), str.slice(), .astype(int), replace(), np.NaN
      • 파이썬 Base 프로그래밍 :

     


     

    141. Display the manager who is having maximum number of employees working under him? [Link]

    • 관리하고 있는 부서원의 수가 가장 많은 부서를 담당하고 있는 관리자의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(max), having count()
      • Oracle : having count(), max(count()), ROW_NUMBER() 윈도우 함수, count(), WITH 구문
      • 파이썬 Pandas : groupby(), count(), loc[], count(), max()
      • R 프로그래밍 : subset(), aggregate(), function(x) 사용자 정의 함수, length(), max()
      • R Dplyr Package : dplyr::group_by(), dplyr::summarize() 의 n(), max()
      • R sqldf Package : having count(), count(), max(), ROW_NUMBER() 윈도우 함수, count()
      • Python pandasql Package : having count(), count(), max(), ROW_NUMBER() 윈도우 함수, count()
      • R data.table Package : IF 조건문, max(), .N, .SD(Subset of Dataframe), .N, keyby=, max()
      • SAS Proc SQL : having count(), max(count()), ROW_NUMBER() 윈도우 함수, count()
      • SAS Data Step : Proc summary 의 N=, Set 구문, n, proc rank
      • Python Dfply Package : summarize()의 count(), max()
      • 파이썬 Base 프로그래밍 :

     


     

    142. List out employees name and salary increased by 15% and expressed as whole number of dollars? [Link]

    • 직원 이름과 15% 인상된 급여 계산 후 달러 표시와 함께 출력하시오.
    • [문자 함수와 수치형 함수] 문자 결합 함수와 반올림 함수 - 달러('$') 출력
      • Oracle : lpad(), concat() 데이터 결합, rounc() 반올림 함수
      • 파이썬 Pandas : astype(int), apply(), lambda 함수, format()
      • R 프로그래밍 : priceR::format_dollars()
      • R Dplyr Package : formattable::currency(), as.integer(), scales::dollar(), Round()
      • R sqldf Package : cast(), round(), 데이터 결합('||')
      • Python pandasql Package : cast(), round(), 데이터 결합('||')
      • R data.table Package : priceR::format_dollars()
      • SAS Proc SQL : put() 함수의 dollar. 포맷 지정(데이터형 변환), STRIP(), Cats 함수, INT()
      • SAS Data Step : put() 함수의 dollar. 포맷 지정(데이터형 변환), STRIP(), Cats 함수, INT()
      • Python Dfply Package : astype(int), apply(), lambda 함수, format()
      • 파이썬 Base 프로그래밍 :

     


     

    143. Produce the output of the EMP table “EMPLOYEE_AND_JOB” for ename and job?

    • ename과 job을 연결하여서 신규 변수 "EMPLOYEE_AND_JOB"을 생성하여 출력하시오.
    • [문자 함수] 문자열 결합 함수
      • Oracle : '||' 문자열 결합, concat() 문자열 결합 함수
      • 파이썬 Pandas : '+' 문자열 결합
      • R 프로그래밍 : paste()
      • R Dplyr Package : stringi::stri_join()
      • R sqldf Package : '||' 문자열 결합
      • Python pandasql Package : '||' 문자열 결합
      • R data.table Package : stringi::stri_join()
      • SAS Proc SQL : '||' 문자열 결합, STRIP(), CATS() 문자열 결합 함수
      • SAS Data Step : '||' 문자열 결합, STRIP(), CATS() 문자열 결합 함수
      • Python Dfply Package : '+' 문자열 결합
      • 파이썬 Base 프로그래밍 :

     


     

    144. List all employees with hire date in the format 'June 4 1988'? [Link]

    • 직원들의 입사일자를 월 일 년('June 4 1988') 형식으로 출력하시오.
    • [날짜 포맷] 날짜 출력 포맷 지정
      • Oracle : to_char()의 날짜 포맷 지정
      • 파이썬 Pandas : pd.to_datetime(), dt.strftime(), apply(), lambda 함수, info(), type(), dtypes, is_string_dtype
      • R 프로그래밍 : class(), Sys.setlocale(), format(), as.Date(), as.character
      • R Dplyr Package : Sys.setlocale(), as.character()
      • R sqldf Package : datetime(), strftime(), substr()
      • Python pandasql Package : datetime(), strftime(), substr()
      • R data.table Package : as.character()
      • SAS Proc SQL : PROC FORMAT 사용자 출력형식 생성, PUT() 함수의 날짜 포맷
      • SAS Data Step : PROC FORMAT 사용자 출력형식 생성, PUT() 함수의 날짜 포맷, INPUT 함수의 날짜 포맷(ANYDTDTE25., DATE9., ifmt25., nldate200.), STRIP 함수, YEAR 함수, compress()
      • Python Dfply Package : make_symbolic(), pd.to_datetime, strftime(), apply(), lambda 함수
      • 파이썬 Base 프로그래밍 :

     


     

    145. Print a list of employees displaying ‘Less Salary’ if less than 1500 if exactly 1500 display as ‘Exact Salary’ and if greater than 1500 display ‘More Salary’? [Link]

    • 조건문을 사용하여 급여가 1,500 미만이면 'Less Salary'를 출력하고, 정확하게 1,500이면 ‘Exact Salary’로 출력하고, 1,500 이상이면 ‘More Salary’를 출력하시오.
    • [데이터 추출] 조건에 따라 값을 변경 - Case When 조건문
      • Oracle : CASE WHEN 조건문
      • 파이썬 Pandas : np.select(), if ~ elif ~ Else 조건문 분기, IF ~ ELSE 조건문, apply(), Lambda 함수
      • R 프로그래밍 : lapply(), function(x) 사용자 정의 함수, case_when 조건문, ifelse 조건문
      • R Dplyr Package : dplyr::case_when() 조건문
      • R sqldf Package : CASE WHEN 조건문
      • Python pandasql Package : CASE WHEN 조건문
      • R data.table Package : dplyr::case_when() 조건문
      • SAS Proc SQL : CASE WHEN 조건문
      • SAS Data Step : IF 조건문, Select 구문
      • Python Dfply Package : 사용자 정의 함수와 IF 조건문, make_symbolic(), np.select, apply(), lambda 함수
      • 파이썬 Base 프로그래밍 :

     


     

    146. Write query to calculate the length of employee has been with the company? [Link]

    • 현재 일자를 기준으로 사원별 회사 입사 후 근속 년수를 계산하시오.
    • [날짜 데이터] 날짜 기간 차이 계산 - 현재 날짜
      • Oracle : roudn() 함수, sysdate
      • 파이썬 Pandas : assign(), pd.Timestamp.now(), pd.to_datetime(), dt.days
      • R 프로그래밍 : transform(), Sys.Date()
      • R Dplyr Package : dplyr::mutate(), Sys.Date()
      • R sqldf Package : datetime(), strftime(), julianday(), date(), substr()
      • Python pandasql Package : datetime(), strftime(), julianday(), date(), substr()
      • R data.table Package : Sys.Date()
      • SAS Proc SQL : DATDIF 함수, YRDIF 함수, Today()
      • SAS Data Step : DATDIF 함수, YRDIF 함수, Today()
      • Python Dfply Package : pd.Timestamp.now(), make_symbolic(), pd.to_datetime(), dt.days
      • 파이썬 Base 프로그래밍 :

     


     

    147. Given a string of the format 'nn/nn' . Verify that the first and last 2 characters are numbers .And that the middle character is '/' Print the expressions 'Yes' IF valid 'NO' of not valid . Use the following values to test your solution'12/54',01/1a,'99/98'? [Link]

    • 'nn/nn' 형태의 문자열에 대하여 처음 2개 문자와 마지막 2개 문자가 숫자인지 확인하고, 가운데 문자가 '/' 존재하는지 확인한다. 조건이 만족하면 "Yes"를 만족하지 않으면 "NO"를 출력한다. 다음 '12/54','01/1a','99/98' 문자열에 대하여 위 조건문을 확인하시오.
    • [데이터 추출] 조건에 따라 값을 변경 - 문자함수와 조건문
      • Oracle : DECODE 함수, TRANSLATE(), SUBSTR(), TRUNC(), LENGTH(), ROUND(), CASE WHEN 조건문
      • 파이썬 Pandas : str.contains(), np.select(), translate(), ord(), strip(), .join() 문자열 결합, re.findall()
      • R 프로그래밍 : stringr::str_detect(), base::grepl(), Data.frame(), dplyr::case_when(), str_detect(), lapply(), function(x) 사용자 정의 함수
      • R Dplyr Package : dplyr::case_when(), stringr::str_detect, grepl()
      • R sqldf Package : REPLACE(), grepl(), 사용자 정의 함수, count(), AVG(), gsubfn 패키지(gsubfn::fn$sqldf) 외부 변수 참조, paste(), sprintf(), For Loop 반복문, sqlite_version(), 지역 변수 생성
      • Python pandasql Package : REPLACE()
      • R data.table Package : dplyr::case_when(), stringr::str_detect(), grepl()
      • SAS Proc SQL : NOTDIGIT 함수, SUBSTR, CASE WHEN 조건문, prxmatch 정규식 함수
      • SAS Data Step : NOTDIGIT 함수, SUBSTR, CASE WHEN 조건문, prxmatch 정규식 함수
      • Python Dfply Package : str.contains(), make_symbolic(), np.select, str.contains(), 정규식 포맷
      • 파이썬 Base 프로그래밍 :

     


     

    148. Employees hire on 15th of any month are paid on the last Friday of that month. Those hired after the 15th are paid on the last Friday of the following month. Print a list of employees, their hiredate and first pay date. Sort on day of hiredate [Link]

    • 15일 이전에 입사한 직원은 해당월의 마지막 금요일에 급여가 지급되고, 15일 이후에 입사한 직원은 다음 달 마지막 금요일에 급여가 지급된다. 직원들의 입사일자와 입사 후 첫 번째 지급된 급여일자를 출력하고, 입사일자의 일자를 기준으로 정렬하시오
    • [날짜 함수] 특정 조건에 따라 해당 날짜 반환
      • Oracle : CASE WHEN 조건문, TO_CHAR(), NEXT_DAY(), LAST_DAY(), ADD_months()
      • 파이썬 Pandas : pd.to_datetime(), MonthEnd(), Day(), Week(), pd.DateOffset(), apply(), Lambda 함수, IF 조건문, DT.date.today(), REL.relativedelta(), apply(), relativedelta()
      • R 프로그래밍 : apply(), vapply(), sapply(), 사용자 함수 생성, lubridate::ceiling_date(), lubridate::rollback(), class(), base::ifelse 조건문, day(), ifelse() 조건문, lubridate::ceiling_date(), data.table::fifelse() 조건문
      • R Dplyr Package : dplyr::if_else() 조건문, ceiling_date(), rollback()
      • R sqldf Package : strftime(), datetime(), date(), Case When 조건문
      • Python pandasql Package : strftime(), datetime(), date(), Case When 조건문
      • R data.table Package : dplyr::if_else() 조건문, data.table::fifelse() 조건문, ceiling_date(), rollback()
      • SAS Proc SQL : intnx(), day(), case when 조건문
      • SAS Data Step : day(), intnx() 함수, IF 조건문
      • Python Dfply Package : make_symbolic(), pd.to_datetime(), MonthEnd(), Day(), pd.DateOffset()
      • 파이썬 Base 프로그래밍 :

     


     

    149. Display those mangers who are getting less than his employees Sal. [Link]

    • 담당하고 있는 부서의 부서원들 보다 적은 급여를 수령하는 관리자의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 상관 서브쿼리(Any), 비등가 데이터 결합
      • Oracle : 상관 서브쿼리, Any 연산자, Min(), 비등가 조인
      • 파이썬 Pandas : pd.merge(), .astype(np.float64), Query(), info()
      • R 프로그래밍 : subset(), Merge(), aggregate() 의 사용자 정의 함수, Min()
      • R Dplyr Package : dplyr::inner_join(), summarise()의 최소값(Min)
      • R sqldf Package : 상관 서브쿼리, Any 연산자, Min(), 비등가 조인
      • Python pandasql Package : 상관 서브쿼리, Any 연산자, Min(), 비등가 조인
      • R data.table Package : Merge 방식 데이터 결합, Min(), %in%, DT[]
      • SAS Proc SQL : 상관 서브쿼리, Any 연산자, Min(), 비등가 조인
      • SAS Data Step : proc summary 의 Min, Merge 구문, IF 조건문, Rename 구문
      • Python Dfply Package : @pipe & def 사용자 정의 함수(inner_join_merge), summarize(), Min(), Filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    150. Print the details of all the employees who are sub ordinate to Blake. [Link]

    • 관리자 "BLAKE"가 관리하고 있는 부서원의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리, 등가 데이터 결합
      • Oracle : 비상관 서브쿼리, 등가 데이터 결합
      • 파이썬 Pandas : .tolist()
      • R 프로그래밍 : unlist(), is.na(), NOT('!') 연산자
      • R Dplyr Package : unlist(), dplyr::filter()
      • R sqldf Package : 비상관 서브쿼리, 등가 데이터 결합
      • Python pandasql Package : 비상관 서브쿼리, 등가 데이터 결합
      • R data.table Package : 등호 비교 연산자('==')
      • SAS Proc SQL : 비상관 서브쿼리, 등가 데이터 결합
      • SAS Data Step : proc sort의 nodupkey, Rename 데이터 세트 옵션, Merge 구문, IF 조건문
      • Python Dfply Package : @dfpipe 와 def 사용자 정의 함수(pull_fun), filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    151. Display those who working as manager using co related sub query.

    • 서브쿼리를 사용하여서 관리자로 근무하고 있는 직원들의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(In), 중복 제거(Distinct)
      • Oracle : 비상관 서브쿼리, IN 연산자
      • 파이썬 Pandas : isin()
      • R 프로그래밍 : %in%, unlist()
      • R Dplyr Package : %in%, unlist()
      • R sqldf Package : 비상관 서브쿼리, IN 연산자
      • Python pandasql Package : 비상관 서브쿼리, IN 연산자
      • R data.table Package : %in%, unlist()
      • SAS Proc SQL : 비상관 서브쿼리, IN 연산자
      • SAS Data Step : proc sort의 nodupkey, Rename 데이터 세트 옵션, Merge 구문, IF 조건문
      • Python Dfply Package : @pipe 와 def 사용자 정의 함수(pull_list), filter_by(), isin()
      • 파이썬 Base 프로그래밍 :

     


     

    152. Display those employees whose manger name is Jones and also with his manager name. [Link]

    • 관리자의 이름이 'JONES'인 직원들의 정보와 'JONES'를 관리하고 있는 관리자의 정보를 함께 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리, 데이터 상하 결합(UNION)
      • Oracle : 비상관 서브쿼리, UNION 데이터 상하 결합
      • 파이썬 Pandas : iloc[], OR('|') 연산자
      • R 프로그래밍 : %in%, OR('|') 연산자
      • R Dplyr Package : OR('|') 연산자, pull()
      • R sqldf Package : 비상관 서브쿼리, UNION ALL 데이터 상하 결합
      • Python pandasql Package : 비상관 서브쿼리, UNION ALL 데이터 상하 결합
      • R data.table Package : OR('|') 연산자
      • SAS Proc SQL : 비상관 서브쿼리, UNION 데이터 상하 결합
      • SAS Data Step : proc sort 의 nodupkey, Merge 구문, IF 조건문, SET 상하 결합 구문
      • Python Dfply Package : OR('|') 연산자, @dfpipe & def 사용자 정의 함수(pull_fun)
      • 파이썬 Base 프로그래밍 :

     


     

    153. Define variable representing the expressions used to calculate on employee’s total annual remuneration.

    • 수수료를 포함한 직원의 년봉을 계산하여 신규 변수를 생성하시오.
    • [변수 생성] 신규 변수를 생성하여 출력 - 결측치 처리
      • Oracle : NVL 함수
      • 파이썬 Pandas : replace(), np.nan
      • R 프로그래밍 : transform(), ifelse(), is.na()
      • R Dplyr Package : dplyr::mutate(), ifelse(), is.na()
      • R sqldf Package : ifnull()
      • Python pandasql Package : ifnull()
      • R data.table Package : ifelse(), is.na()
      • SAS Proc SQL : Coalesce(), IFN() 함수
      • SAS Data Step : Coalesce(), IFN() 함수, KEEP 구문
      • Python Dfply Package : if_else(), isnull()
      • 파이썬 Base 프로그래밍 :

     


     

    154. Use the variable in a statement which finds all employees who can earn 30,000 a year or more. [Link]

    • 연간 총 30,000 이상 수익을 올릴 수 있는 직원들의 정보를 출력하시오. (153번에 생성한 신규 변수의 값이 30,000 이상)
    • 참고 프로그램 : 161번
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 결측치 처리
      • Oracle : NVL 함수
      • 파이썬 Pandas : replace(), np.nan, Exec() 파이썬 코드 동적 실행, compile() & eval() 프로그램 컴파일과 소스 실행
      • R 프로그래밍 : transform(), ifelse(), is.na(), parse() 와 eval() 프로그램 컴파일과 코드 실행, base::str2lang() 와 eval() 프로그램 컴파일과 코드 실행
      • R Dplyr Package : dplyr::mutate(), ifelse(), is.na(), parse() 와 eval() 프로그램 컴파일과 코드 실행
      • R sqldf Package : ifnull(), gsubfn 패키지(gsubfn::fn$sqldf) 외부 변수 참조 프로그램 실행
      • Python pandasql Package : ifnull(), format(), globals() 전역 변수 참조
      • R data.table Package : ifelse(), is.na(), parse() 와 eval() ,프로그램 컴파일과 코드 실행
      • SAS Proc SQL : Coalesce(), IFN() 함수
      • SAS Data Step : Coalesce(), IFN() 함수, KEEP 구문
      • Python Dfply Package : if_else(), isnull()
      • 파이썬 Base 프로그래밍 :

     


     

    155. Find out how many managers are there without listing them. [Link]

    • 관리자 역할을 수행하고 있는 직원들의 수를 집계하시오.
    • [데이터 집계] 특정 조건을 만족하는 데이터 집계 - 총건수 카운트
      • Oracle : 비상관 서브쿼리, Count(*)
      • 파이썬 Pandas : isin(), agg()의 ['count'], Count()
      • R 프로그래밍 : nrow(), unlist()
      • R Dplyr Package : %in%, unlist(), dplyr::summarise() 의 n()
      • R sqldf Package : 비상관 서브쿼리, Count(*)
      • Python pandasql Package : 비상관 서브쿼리, Count(*)
      • R data.table Package : %in%, .N
      • SAS Proc SQL : 비상관 서브쿼리, Count(*)
      • SAS Data Step : PROC SORT의 Nodupkey 중복 제거, Merge 구문, IF 조건문, Proc Summary의 N,
      • Python Dfply Package : @pipe 와 def 사용자 정의 함수(pull_list), isin(), summarize()의 count()
      • 파이썬 Base 프로그래밍 :

     


     

    156. Find out the avg sal and avg total remuneration for each job type remember salesman earn commission.

    • 개별 직무별 직원들의 수수료(commission)를 포함한 급여 평균과 합계를 집계하시오.
    • [집계 함수] 그룹별 평균과 합계 계산 - 결측치 처리
      • Oracle : avg(), sum(), NVL()
      • 파이썬 Pandas : assign(), replace(), groupby(), agg()의 ['mean','sum']
      • R 프로그래밍 : transform(), ifelse(), is.na(), aggregate()의 function(x) 사용자 정의 함수, Mean(), Sum(), do.call(), rbind, tapply(), with()
      • R Dplyr Package : ifelse(), is.na(), dplyr::summarise()의 mean()과 sum() 함수
      • R sqldf Package : avg(), sum(), NVL()
      • Python pandasql Package : avg(), sum(), NVL()
      • R data.table Package : ifelse(), is.na(), mean(), sum()
      • SAS Proc SQL : avg(), sum(), NVL()
      • SAS Data Step : COALESCE(), Proc Summary의 MEAN과 SUM 인수
      • Python Dfply Package : if_else(), isnull(), Mean(), Sum()
      • 파이썬 Base 프로그래밍 :

     


     

    157. Check whether all employees number are indeed unique. [Link]

    • 모든 직원의 사원번호가 유일하게 할당되었는지 확인하시오.
    • [집계 함수] 데이터 유일성 체크 - 데이터 중복 제거
      • Oracle : count(), Distinct, Having count()
      • 파이썬 Pandas : agg()의 'count'와 'nunique'
      • R 프로그래밍 : plyr::summarise()의 length()와 length(unique()), dplyr::summarise()의 n()과 n_distinct(), broom ::tidy(), table(), Merge(), dplyr::add_tally(), dplyr::add_count(), plyr::ddply(), ave()
      • R Dplyr Package : dplyr::summarise()의 n()과 n_distinct(), is.na(), ungroup()
      • R sqldf Package : count(), Distinct
      • Python pandasql Package : count(), Distinct
      • R data.table Package : .N, uniqueN(), is.na(), dplyr::n_distinct()
      • SAS Proc SQL : count(), Distinct, Having count()
      • SAS Data Step : PROC SUMMARY의 N, Proc sort의 Nodupkey 옵션, Merge 구문, FIRST., 누적합, IF 조건문
      • Python Dfply Package : summarize()의 .count()와 .nunique()
      • 파이썬 Base 프로그래밍 :

     


     

    158. List out the lowest paid employees working for each manager, exclude any groups where min sal is less than 1000 sort the output by sal. [Link]

    • 관리자 별로 담당하고 있는 직원 중에서 최소 급여를 수령하는 직원을 선택하고, 이 중에서 급여가 1000을 초과하는 직원의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(In), 최소값(Min)
      • Oracle : 비상관 서브쿼리, IN 연산자, Min()
      • 파이썬 Pandas : pd.merge(), agg()의 np.min, .loc[], lambda 함수
      • R 프로그래밍 : subset(), merge(), aggregate()와 function(x) 사용자 정의 함수(Min())
      • R Dplyr Package : inner_join(), is.na(), dplyr::summarise()의 min(), ungroup()
      • R sqldf Package : 비상관 서브쿼리, IN 연산자, Min()
      • Python pandasql Package : 비상관 서브쿼리, IN 연산자, Min()
      • R data.table Package : merge 방식 데이터 결합, DT Syntax 방식 데이터 결합, min(), IF 조건문, anyNA(), is.na()
      • SAS Proc SQL : 비상관 서브쿼리, IN 연산자, Min()
      • SAS Data Step : PROC SUMMARY의 MIN, MERGE 구문, IF 조건문
      • Python Dfply Package : @pipe & def 사용자 정의 함수(inner_join_merge), Summarize()의 MIN()
      • 파이썬 Base 프로그래밍 :

     


     

    159. list ename, job, annual sal, deptno, dname and grade who earn 30000 per year and who are not clerks. [Link]

    • 사무직('clerks') 직원을 제외하고 년간 30000 달러를 초과하여 수령하는 직원의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비등가 데이터 결합, Between 연산, 결측치 처리, 다중 테이블 결합
      • Oracle : NVL(), Between 연산자, 비등가 데이터 결합
      • 파이썬 Pandas : pd.merge()의 Cross Join(카테시안곱), query(), loc[], lambda 함수, replace(), np.nan
      • R 프로그래밍 : subset(), base::merge의 Cross Join(카테시안곱), Between, ifelse(), is.na()
      • R Dplyr Package : dplyr::inner_join(), dplyr::full_join()의 Cross Join(카테시안곱), between(), ifelse(), is.na()
      • R sqldf Package : ifnull(), Between 연산자, 비등가 데이터 결합
      • Python pandasql Package : ifnull(), Between 연산자, 비등가 데이터 결합
      • R data.table Package : DT Syntax 방식의 Cross Join(카테시안곱), fcoalesce()
      • SAS Proc SQL : NVL(), Between 연산자, 비등가 데이터 결합
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현, MERGE 구문, IF 조건문, coalesce()
      • Python Dfply Package : @pipe & def 사용자 정의 함수(inner_join_merge), full_join()의 Cross Join(카테시안곱), between(), if_else(), isnull()
      • 파이썬 Base 프로그래밍 :

     


     

    161. find out the all employees who joined the company before their manager.

    • 담당 관리자 보다 먼저 입사한 직원들의 정보를 출력하시오.
    • 참고 프로그램 : 동적 프로그램 실행 - 154번,161번, 162번
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 상관 서브쿼리(In), 우선 순위 비교
      • Oracle : 상관 서브쿼리
      • 파이썬 Pandas : pd.merge(), Query(), lambda 함수, IF 조건문, endswith()
      • R 프로그래밍 : subset(), merge(), grep(), names(), base::endsWith(), names(), %in%, sapply(), function(x) 사용자 정의 함수, grepl()
      • R Dplyr Package : dplyr::inner_join(), ends_with(), dplyr::rename_all(), gsub()
      • R sqldf Package : 상관 서브쿼리
      • Python pandasql Package : 상관 서브쿼리
      • R data.table Package : DT Syntax 방식의 데이터 결합, colnames()
      • SAS Proc SQL : 상관 서브쿼리
      • SAS Data Step : Merge 구문, IF 조건문
      • Python Dfply Package : @pipe 와 def 사용자 정의 함수(rename_fun), suffixes, ends_with(), literal_eval() 텍스트 구문 실행(exec 154번 참고)
      • 파이썬 Base 프로그래밍 :

     


     

    162. list out the all employees by name and number along with their manager’s name and number also display ‘No Manager’ who has no manager. [Link]

    • 사원 정보와 해당 관리자의 정보를 함께 출력한다. 해당 관리자가 없는 경우 관리자 이름에 'No Manager'를 출력하시오.
    • 참고 프로그램 : 동적 프로그램 실행 - 154번,161번, 162번
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 데이터 상하 결합(UNION), 변수명 변경
      • Oracle : UNION, IS NULL
      • 파이썬 Pandas : pd.merge(), columns, str.rstrip(), rename(), copy.deepcopy(), pd.concat() 데이터 상하 결합
      • R 프로그래밍 : merge(), Grep(), names(), gsub(), colnames(), reshape::rename(), is.na(), union()
      • R Dplyr Package : dplyr::inner_join(), dplyr::rename_all(), dplyr::rename(), union()
      • R sqldf Package : UNION, IS NULL
      • Python pandasql Package : UNION, IS NULL
      • R data.table Package : DT Syntax 방식의 데이터 결합, is.na(), funion()
      • SAS Proc SQL : UNION, IS NULL
      • SAS Data Step : MERGE 구문, IF 조건문, SET 구문 - 데이터 상하 결합
      • Python Dfply Package : @pipe & def (inner_join_merge) 사용자 정의 함수, @pipe 와 def 사용자 정의 함수(rename_fun), literal_eval() 텍트스 형태의 파이썬 코드 동적 실행(exec 154번 참고), rename_fun, rename(), Union()
      • 파이썬 Base 프로그래밍 :

     


     

    163. find out the employees who earned the highest Sal in each job typed sort in descending Sal order. [Link]

    • 개별 직무에서 최대 급여를 받는 사원들의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 상관 서브쿼리(Max)
      • Oracle : 상관 서브쿼리, Max()
      • 파이썬 Pandas : pd.merge(), agg(), np.max
      • R 프로그래밍 : merge(), aggregate() 의 function(x) 사용자 정의 함수(Max)
      • R Dplyr Package : inner_join(), dplyr::summarise() 의 Max()
      • R sqldf Package : 상관 서브쿼리, Max()
      • Python pandasql Package : 상관 서브쿼리, Max()
      • R data.table Package : Merge 방식의 데이터 결합, Max()
      • SAS Proc SQL : 상관 서브쿼리, Max()
      • SAS Data Step : PROC SUMMARY의 Max, Merge 구문, IF 조건문
      • Python Dfply Package : @pipe & def 사용자 정의 함수(inner_join_merge), summarize()의 max()
      • 파이썬 Base 프로그래밍 :

     


     

    164. find out the employees who earned the min Sal for their job in ascending order. [Link]

    • 개별 직무에서 최소 급여를 받는 사원들의 정보를 출력하시오
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 상관 서브쿼리(Min)
      • Oracle : 상관 서브쿼리, Min()
      • 파이썬 Pandas : pd.merge(), agg(), np.Min
      • R 프로그래밍 : merge(), aggregate() 의 function(x) 사용자 정의 함수(Min)
      • R Dplyr Package : inner_join(), dplyr::summarise() 의 Min()
      • R sqldf Package : 상관 서브쿼리, Min()
      • Python pandasql Package : 상관 서브쿼리, Min()
      • R data.table Package : Merge 방식의 데이터 결합, DT Syntax 방식의 데이터 결합, Min()
      • SAS Proc SQL : 상관 서브쿼리, Min()
      • SAS Data Step : PROC SUMMARY의 Min, Merge 구문, IF 조건문
      • Python Dfply Package : @pipe & def 사용자 정의 함수(inner_join_merge), summarize()의 Min()
      • 파이썬 Base 프로그래밍 :

     


     

    165. find out the most recently hired employees in each dept order by hire date [Link]

    • 개별 부서별로 입사일자를 내림차순 기준으로 정렬하여서 최근에 입사한 직원들의 정보를 확인하시오.
    • [데이터 정렬] 오름차순과 내림차순 정렬
      • Oracle : Order by 구문의 내림차순(Desc), 오름차순(Asc)
      • 파이썬 Pandas : sort_values()의 ascending 인수
      • R 프로그래밍 : arrange() 의 desc(), order()의 내림차순('-') 인수, xtfrm(), with(), as.numeric()
      • R Dplyr Package : dplyr::arrange()의 내림차순(Desc)
      • R sqldf Package : Order by 구문의 내림차순(Desc), 오름차순(Asc)
      • Python pandasql Package : Order by 구문의 내림차순(Desc), 오름차순(Asc)
      • R data.table Package : data.table::setorder()의 내림차순('-') 인수, order()의 내림차순('-') 인수
      • SAS Proc SQL : Order by 구문의 내림차순(Desc), 오름차순(Asc)
      • SAS Data Step : Proc sort의 내림차순('Descending')
      • Python Dfply Package : arrange()의 내림차순(Desc)
      • 파이썬 Base 프로그래밍 :

     


     

    166. display ename, sal and deptno for each employee who earn a Sal greater than the avg of their department order by deptno [Link]

    • 본인이 근무하고 있는 부서의 평균 급여보다 더 많은 급여를 수령하는 직원들의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 상관 서브쿼리(평균)
      • Oracle : 상관 서브쿼리, Avg()
      • 파이썬 Pandas : pd.merge(), query(), sort_values()
      • R 프로그래밍 : arrange(), Subset(), Merge(), aggregate(), mean()
      • R Dplyr Package : dplyr::inner_join(), dplyr::summarise()의 mean()
      • R sqldf Package : 상관 서브쿼리, Avg()
      • Python pandasql Package : 상관 서브쿼리, Avg()
      • R data.table Package : Merge() 방식의 데이터 결합, Mean(), Order(), Rank()
      • SAS Proc SQL : 상관 서브쿼리, Avg()
      • SAS Data Step : PROC SUMMARY의 Mean, Merge 구문, IF 조건문, Rename
      • Python Dfply Package : @pipe & def 사용자 정의 함수(inner_join_merge), summarize()의 Mean()
      • 파이썬 Base 프로그래밍 :

     


     

    167. display the department where there are no employees [Link]

    • 인사 정보('EMP')테이블을 조회하여 부서 정보('DEPT')테이블에서 별도의 부서원이 존재하지 않는 부서 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(중복 제거를 통한 유일한 값 추출), Not in 연산자
      • Oracle : 비상관 서브쿼리, Distinct 중복 제거, Not in 연산자
      • 파이썬 Pandas : NOT('~') 연산자, isin(), unique() 중복 제거
      • R 프로그래밍 : NOT('!') 연산자, %in%, unlist(), unique()
      • R Dplyr Package : NOT('!') 연산자, dplyr::distinct() 중복 제거, unlist()
      • R sqldf Package : 비상관 서브쿼리, Distinct 중복 제거, Not in 연산자
      • Python pandasql Package : 비상관 서브쿼리, Distinct 중복 제거, Not in 연산자
      • R data.table Package : NOT('!') 연산자, unlist(), unique() 중복 제거
      • SAS Proc SQL : 비상관 서브쿼리, Distinct 중복 제거, Not in 연산자
      • SAS Data Step : Proc sort의 nodupkey, Merge 구문, IF 조건문
      • Python Dfply Package : @pipe 와 def 사용자 정의 함수(pull_list), isin(), distinct()
      • 파이썬 Base 프로그래밍 :

     


     

    168. display the dept no with highest annual remuneration bill as compensation.

    • 직원들의 급여 합계가 가장 많은 부서를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(Max), 그룹 합계 최대값, 그룹 집계 함수
      • Oracle : 비상관 서브쿼리, Having sum(), max(), 인라인뷰(Inline View)
      • 파이썬 Pandas : sum(), max(), .loc[], Lambda 함수, filter()
      • R 프로그래밍 : group_by(), max(), aggregate(), list(), dplyr::filter(), plyr::ddply(), sum(), subset(), function(x) 사용자 정의 함수, plyr::adply(), tapply(), sapply(), Split(), dplyr::summarise(), doBy::summaryBy(), Hmisc::summarize(), ave(), with(), transform()
      • R Dplyr Package : dplyr::summarise(), sum(), dplyr::top_n(), desc()
      • R sqldf Package : 비상관 서브쿼리, Having sum(), max(), 인라인뷰(Inline View)
      • Python pandasql Package : 비상관 서브쿼리, Having sum(), max(), 인라인뷰(Inline View)
      • R data.table Package : .SD(Subset of Dataframe), keyby= , max()
      • SAS Proc SQL : 비상관 서브쿼리, Having sum(), max(), 인라인뷰(Inline View)
      • SAS Data Step : proc summary의 SUM=, Set 구문, obs= 데이터 세트 옵션, proc summary의 max= 와 maxid()
      • Python Dfply Package : group_by(), summarize()의 sum(), ungroup(), filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    169. In which year did most people join the company. Display the year and number of employees [Link]

    • 입사 년도별 사원수를 집계하시오.
    • [날짜 데이터 처리] 날짜 형식 변환 - 년도 형식 출력
      • Oracle : to_char()의 'yyyy'
      • 파이썬 Pandas : groupby(), str.slice(), count()
      • R 프로그래밍 : plyr::ddply(), base::substr(), summarise, length(), aggregate(), cbind(), base::substr(), length, epiDisplay
      • R Dplyr Package : dplyr::group_by(), stringr::str_sub(), dplyr::summarize()의 n()
      • R sqldf Package : substr(), datetime()
      • Python pandasql Package : substr()
      • R data.table Package : length(), stringr::str_sub(), keyby=
      • SAS Proc SQL : put()
      • SAS Data Step : put(), Proc Summary의 N=, FIRST. 와 LAST.
      • Python Dfply Package : str.slice(), group_by(), summarize()의 count()
      • 파이썬 Base 프로그래밍 :

     


     

    170. display avg sal figure for the dept.

    • 부서별 평균 급여를 출력하시오.
    • [데이터 추출] 그룹별 평균 계산 - Avg
      • Oracle : Group by, AVG()
      • 파이썬 Pandas : groupby(), mean()
      • R 프로그래밍 : plyr::ddply(), summarise, mean(), aggregate()의 mean, cbind()
      • R Dplyr Package : dplyr::group_by(), dplyr::summarize()의 Mean()
      • R sqldf Package : Group by, AVG()
      • Python pandasql Package : Group by, AVG()
      • R data.table Package : mean(), key=
      • SAS Proc SQL : Group by, AVG()
      • SAS Data Step : PROC SUMMARY의 MEAN과 Nway, FIRST. 와 LAST.
      • Python Dfply Package : group_by(), summarize()의 Mean()
      • 파이썬 Base 프로그래밍 :

     


     

    171. Write a query of display against the row of the most recently hired employee. display ename hire date and column max date showing. [Link]

    • 가장 최근에 입사한 직원의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(Max)
      • Oracle : 비상관 서브쿼리, Max(), row_number() 윈도우 함수
      • 파이썬 Pandas : max(), query()
      • R 프로그래밍 : max(), subset()
      • R Dplyr Package : dplyr::filter(), max()
      • R sqldf Package : 비상관 서브쿼리, Max(), row_number() 윈도우 함수
      • Python pandasql Package : 비상관 서브쿼리, Max(), row_number() 윈도우 함수
      • R data.table Package : max()
      • SAS Proc SQL : 비상관 서브쿼리, Max(), having max()
      • SAS Data Step : obs 데이터 세트 옵션, Proc summary의 max와 maxid
      • Python Dfply Package : filter_by(), max()
      • 파이썬 Base 프로그래밍 :

     


     

    172. display employees who can earn more than lowest Sal in dept no 30

    • 부서번호 30에서 근무하는 직원의 최소 급여보다 더 많은 급여를 수령하는 직원들의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(Min)
      • Oracle : 비상관 서브쿼리, min()
      • 파이썬 Pandas : min()
      • R 프로그래밍 : min()
      • R Dplyr Package : dplyr::summarize()의 min(), unlist()
      • R sqldf Package : 비상관 서브쿼리, min()
      • Python pandasql Package : 비상관 서브쿼리, min()
      • R data.table Package : min()
      • SAS Proc SQL : 비상관 서브쿼리, min()
      • SAS Data Step : Proc summary의 min=, CROSS JOIN (카테시안 곱) 구현, Nobs 데이터 세트 옵션
      • Python Dfply Package : filter_by(), summarize()의 min()
      • 파이썬 Base 프로그래밍 :

     


     

    173. find employees who can earn more than every employees in dept no 30 [Link]

    • 부서번호 30에서 근무하는 직원들의 최대 급여보다 더 많은 급여를 수령하는 직원들의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(Max)
      • Oracle : 비상관 서브쿼리, Max(), All() 연산자
      • 파이썬 Pandas : max()
      • R 프로그래밍 : max()
      • R Dplyr Package : dplyr::summarize()의 max(), unlist()
      • R sqldf Package : 비상관 서브쿼리, Max(), All() 연산자
      • Python pandasql Package : 비상관 서브쿼리, Max()
      • R data.table Package : max()
      • SAS Proc SQL : 비상관 서브쿼리, Max(), All() 연산자
      • SAS Data Step : Proc summary의 max=, CROSS JOIN (카테시안 곱) 구현, IF 조건문
      • Python Dfply Package : @dfpipe & def 사용자 정의 함수(pull_fun), summarize()의 max()
      • 파이썬 Base 프로그래밍 :

     


     

    174. select dept name dept no and sum of Sal. [Link]

    • 사원 정보에 부서명을 추가하여 출력하시오.
    • 유사문제 : 91, 94, 95, 174, 210번
    • [데이터 추출] 내부 조인(Inner Join)을 만족하는 데이터 추출
      • Oracle : 내부 조인
      • 파이썬 Pandas : pd.merge()의 'inner'
      • R 프로그래밍 : arrange(), merge()의 all=F
      • R Dplyr Package : dplyr::inner_join(), dplyr::arrange()
      • R sqldf Package : 내부 조인
      • Python pandasql Package : 내부 조인
      • R data.table Package : merge 방식의 데이터 결합 - 내부 조인, DT Syntax 방식의 데이터 결합, order(), Rank()
      • SAS Proc SQL : 내부 조인
      • SAS Data Step : Merge 구문, IF조건문
      • Python Dfply Package : @pipe & def 사용자 정의 함수(inner_join_merge), arrange()
      • 파이썬 Base 프로그래밍 :

     


     

    176. find all dept’s which have more than 4 employees [Link]

    • 부서원이 4명 이상인 부서 정보를 출력하시오.
    • 유사문제 : 109, 176, 185
    • *[데이터 추출] 그룹 집계 후 특정 조건을 만족하는 그룹의 집계 통계량 출력 - having count()**
      • Oracle : having count(*)
      • 파이썬 Pandas : groupby(), count(), query()
      • R 프로그래밍 : subset(), aggregate(), function(x) 사용자 정의 함수, length(), plyr::ddply(), summarize, dplyr::filter()
      • R Dplyr Package : dplyr::group_by(), dplyr::summarize()의 n(), dplyr::filter()
      • R sqldf Package : having count(*)
      • Python pandasql Package : having count(*)
      • R data.table Package : length(), .N , keyby=
      • SAS Proc SQL : group by, having count(*)
      • SAS Data Step : PROC SUMMARY의 N=, where 데이터 세트 옵션, SET 구문, first. 과 LAST., IF 조건문
      • Python Dfply Package : summarize()의 count(), filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    179. Display employee name and his sal whose sal is greater than highest avg of dept no [Link]

    • 평균 급여보다 더 큰 급여를 수령하는 직원의 정보를 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(avg - 평균)
      • Oracle : 비상관 서브쿼리, AVG()
      • 파이썬 Pandas : mean()
      • R 프로그래밍 : mean()
      • R Dplyr Package : mean(), dplyr::summarise()의 mean(), unlist()
      • R sqldf Package : 비상관 서브쿼리, AVG()
      • Python pandasql Package : 비상관 서브쿼리, AVG()
      • R data.table Package : DT Syntax 방식의 데이터 결합, mean()
      • SAS Proc SQL : 비상관 서브쿼리, AVG()
      • SAS Data Step : PROC SUMMARY의 MEAN=, CROSS JOIN (카테시안 곱) 구현, IF 조건문
      • Python Dfply Package : mean()
      • 파이썬 Base 프로그래밍 :

     


     

    180. Display the 10th record of EMP table. (without using rowid) [Link]

    • 급여 순위 10번째(10등) 직원의 사원 정보를 출력하시오.
    • [데이터 추출] 데이터 순위 결과 반환 - RANK
      • Oracle : row_number() 윈도우 함수
      • 파이썬 Pandas : sort_values()
      • R 프로그래밍 : order()
      • R Dplyr Package : dplyr::arrange(), dplyr::slice(), tidyfst::arrange_dt(), tidyfst::slice_dt(), tidyfst::summarise_dt()의 Nth()
      • R sqldf Package : LIMIT 구문, row_number() 윈도우 함수
      • Python pandasql Package : LIMIT 구문, row_number() 윈도우 함수
      • R data.table Package : order[], [] 인덱싱(Indexing)
      • SAS Proc SQL : Order by, MONOTONIC(), WHERE= 데이터 세트 옵션, count(*)
      • SAS Data Step : proc rank, IF 조건문, N 현재 작업 관측치 번호, FIRSTOBS= 와 OBS= 데이터 세트 옵션
      • Python Dfply Package : arrange(), row_slice(), list(), Range(), make_symbolic(), lambda 함수, rank(), summarize()의 nth(), reset_index와 .index, [] 인덱싱(Indexing)
      • 파이썬 Base 프로그래밍 :

     


     

    181. Display the half of the enames in upper case and remaining lower case [Link]

    • 직원명의 절반을 대문자로 표시하고, 나머지 부분을 소문자로 출력하시오.
    • [문자 함수] 다양한 문자 함수 - 문자길이 체크, 문자열 자르기 및 추출, 대문자와 소문자 변환, 문자 결합, 신규변수 생성
      • Oracle : length(), substr(), upper(), lower(), concat(), 문자 결합 연산자('||')
      • 파이썬 Pandas : len(), str(), upper(), lower(), 문자 결합 연산자('+'), str(), apply(), lambda 함수, int(), assign()
      • R 프로그래밍 : str_length(), base::substr(), toupper(), tolower(), paste0(), transform()
      • R Dplyr Package : nchar(), stringr::str_sub(), toupper(), tolower(), stringi::stri_join(), dplyr::mutate(), nchar()
      • R sqldf Package : length(), substr(), upper(), lower(), 문자 결합 연산자('||')
      • Python pandasql Package : length(), substr(), upper(), lower(), 문자 결합 연산자('||')
      • R data.table Package : nchar(), stringr::str_sub(), toupper(), tolower(), stringi::stri_join(), nchar()
      • SAS Proc SQL : length(), substr(), upper() / UPCASE(), lower() / LOWCASE(), concat(), cats(), STRIP(), 문자 결합 연산자('||'), int(), CALCULATED
      • SAS Data Step : length(), substr(), upper() / UPCASE(), lower() / LOWCASE(), concat(), cats(), STRIP(), 문자 결합 연산자('||'), int()
      • Python Dfply Package : len(), [] 인덱싱(Indexing), upper(), lower(), 문자 결합 연산자('+'), apply(), lambda 함수, str()
      • 파이썬 Base 프로그래밍 :

     


     

    183. Delete the 10th record of emp table. [Link]

    • 급여 순위 10번째(10등) 직원의 사원 정보를 삭제하시오.
    • [데이터 삭제] 특정 조건을 만족하는 데이터 삭제 - 데이터 순위 측정
      • Oracle : DELETE 구문, ROW_NUMBER() 윈도우 함수, create table 구문
      • 파이썬 Pandas : NOT('~') 연산자, isin(), sort_values(), .iloc[] 인덱싱(Indexing)
      • R 프로그래밍 : NOT('!') 연산자, %in%, [] 인덱싱(Indexing), anti_join()
      • R Dplyr Package : dplyr::setdiff(), dplyr::arrange(), dplyr::slice()
      • R sqldf Package : DELETE 구문, ROW_NUMBER() 윈도우 함수, create table 구문
      • Python pandasql Package : ROW_NUMBER() 윈도우 함수
      • R data.table Package : Order(), NOT('!') 연산자, [] 인덱싱
      • SAS Proc SQL : DELETE 구문 - 논리적 삭제, monotonic(), create table 구문, WHERE= 데이터 세트 옵션, LEFT JOIN, count()
      • SAS Data Step : proc rank, Proc sort와 N, IF 조건문, DELETE 구문, FIRSTOBS= 와 OBS= 데이터 세트 옵션
      • Python Dfply Package : make_symbolic(), lambda 함수, rank()
      • 파이썬 Base 프로그래밍 :

     


     

    184. Create a copy of emp table. [Link]

    • 직원정보(EMP) 테이블을 신규로 생성하시오.
    • [데이터 생성] 신규 테이블 생성
      • Oracle : Create table
      • 파이썬 Pandas : copy.copy()
      • R 프로그래밍 : 할당('<-') 연산자
      • R Dplyr Package : 할당('<-') 연산자
      • R sqldf Package : 할당('<-') 연산자
      • Python pandasql Package : 할당('=') 연산자
      • R data.table Package : 할당('<-') 연산자
      • SAS Proc SQL : Create table
      • SAS Data Step : SET 구문
      • Python Dfply Package : 할당('=') 연산자
      • 파이썬 Base 프로그래밍 :

     


     

    185. Select ename if ename exists more than once.

    • 동일한 직무('job') 이름이 2개 이상 존재하는 경우 출력하시오. ( 직무별 근무하는 직원이 2명 이상인 경우)
    • 유사문제 : 109, 176, 185
    • *[데이터 추출] 그룹 집계 후 특정 조건을 만족하는 그룹의 집계 통계량 출력 - having count()**
      • Oracle : having count(*)
      • 파이썬 Pandas : groupby(), count(), query()
      • R 프로그래밍 : subset(), aggregate(), function(x) 사용자 정의 함수, length(), plyr::ddply(), summarize, dplyr::filter()
      • R Dplyr Package : dplyr::group_by(), dplyr::summarize()의 n(), dplyr::filter()
      • R sqldf Package : having count(*)
      • Python pandasql Package : having count(*)
      • R data.table Package : .SD(Subset of Dataframe), .N , keyby=
      • SAS Proc SQL : group by, having count(*)
      • SAS Data Step : PROC SUMMARY의 N=, where 데이터 세트 옵션, SET 구문, first. 과 LAST., IF 조건문
      • Python Dfply Package : summarize()의 n(), filter_by()
      • 파이썬 Base 프로그래밍 :

     


     

    186. Display all enames in reverse order. [Link]

    • 사원이름을 역순(내림차순)으로 출력하시오.
    • [데이터 정렬] 수치형 데이터를 내림차순으로 정렬 - Descending
      • Oracle : Order by의 내림차순(Desc)
      • 파이썬 Pandas : sort_values()의 ascending=
      • R 프로그래밍 : arrange()의 desc()
      • R Dplyr Package : dplyr::arrange()의 Desc()
      • R sqldf Package : Order by의 내림차순(Desc)
      • Python pandasql Package : Order by의 내림차순(Desc)
      • R data.table Package : order()의 내림차수 연산자('-')
      • SAS Proc SQL : Order by의 내림차순(Desc)
      • SAS Data Step : proc sort의 descending
      • Python Dfply Package : arrange()의 desc()
      • 파이썬 Base 프로그래밍 :

     


     

    187. Display those employee whose joining of month and grade is equal.

    • 입사월과 급여 등급이 동일한 사원을 출력하시오.
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리, 비등가 조인, 코드 테이블 결합, 날짜 데이터에서 월 추출
      • Oracle : between 연산자, TO_CHAR(), 비상관 서브쿼리
      • 파이썬 Pandas : pd.merge()의 Cross Join(카테시안곱), query(), str.slice(), astype("int")
      • R 프로그래밍 : subset(), Merge()의 Cross Join(카테시안곱), between(), as.numeric(), base::substr()
      • R Dplyr Package : dplyr::full_join()의 Cross Join(카테시안곱), between(), as.numeric(), stringr::str_sub(), dplyr::left_join ()의 Cross Join(카테시안곱)
      • R sqldf Package : 비등가 조인, between 연산자, cast(), 비상관 서브쿼리
      • Python pandasql Package : 비등가 조인, between 연산자, cast(), 비상관 서브쿼리
      • R data.table Package : as.numeric(), stringr::str_sub()
      • SAS Proc SQL : 비등가 조인, between 연산자, TO_CHAR(), 비상관 서브쿼리, month()
      • SAS Data Step : CROSS JOIN (카테시안 곱) 구현, month(), IF 조건문
      • Python Dfply Package : full_join()의 Cross Join(카테시안곱), left_join()의 Cross Join(카테시안곱), between(), str.slice(), astype("int")
      • 파이썬 Base 프로그래밍 :

     


     

    188. Display those employee whose joining date is available in dept no [Link]

    • 입사일과 부서 번호가 동일한 사원을 출력하시오.
    • [날짜 데이터 처리] 날짜 형식 변환 - 일자 형식 출력
      • Oracle : TO_CHAR()의 'dd'
      • 파이썬 Pandas : query(), str.slice(), astype("int")
      • R 프로그래밍 : subset(), as.numeric(), base::substr()
      • R Dplyr Package : as.numeric(), stringr::str_sub()
      • R sqldf Package : cast(), substr(), datetime()
      • Python pandasql Package : cast(), substr(), datetime()
      • R data.table Package : as.numeric(), stringr::str_sub()
      • SAS Proc SQL : day()
      • SAS Data Step : day()
      • Python Dfply Package : filter_by(), str.slice(), astype("int")
      • 파이썬 Base 프로그래밍 :

     


     

    189. Display those employees name as follows A ALLEN, B BLAKE [Link]

    • A ALLEN, B BLAKE 처럼 이름 앞에 1글자를 별도로 추출하여 이름과 함께 출력하시오.
    • [문자 함수] 다양한 문자 함수 - 문자열 자르기 및 추출, 문자 결합, 신규변수 생성
      • Oracle : substr(), Concat(), 문자 결합 연산자('||')
      • 파이썬 Pandas : str.slice(), 문자 결합 연산자('+'), assign() 신규변수 할당
      • R 프로그래밍 : base::substr(), paste(), transform()
      • R Dplyr Package : stringr::str_sub(), stringi::stri_join(), dplyr::mutate()
      • R sqldf Package : substr(), 문자 결합 연산자('||')
      • Python pandasql Package : substr(), 문자 결합 연산자('||')
      • R data.table Package : stringr::str_sub(), stringi::stri_join()
      • SAS Proc SQL : substr(), 문자 결합 연산자('||'), cat 함수, cats 함수
      • SAS Data Step : substr(), 문자 결합 연산자('||'), cat 함수, cats 함수
      • Python Dfply Package : str.slice(), 문자 결합 연산자('+'), mutate()
      • 파이썬 Base 프로그래밍 :

     


     

    190. List out the employees ename, sal, PF from emp [Link]

    • 사원명, 급여, PF(급여의 15%) 값을 출력하시오
    • [변수 생성] 신규 변수 생성 - 곱셈과 나눗셈
      • Oracle : 곱셈('*'), 나눗셈('/')
      • 파이썬 Pandas : 곱셈('*'), 나눗셈('/'), assign()
      • R 프로그래밍 : 곱셈('*'), 나눗셈('/'), transform()
      • R Dplyr Package : 곱셈('*'), 나눗셈('/'), dplyr::mutate()
      • R sqldf Package : 곱셈('*'), 나눗셈('/')
      • Python pandasql Package : 곱셈('*'), 나눗셈('/')
      • R data.table Package : 곱셈('*'), 나눗셈('/')
      • SAS Proc SQL : 곱셈('*'), 나눗셈('/')
      • SAS Data Step : 곱셈('*'), 나눗셈('/'), KEEP 구문
      • Python Dfply Package : 곱셈('*'), 나눗셈('/')
      • 파이썬 Base 프로그래밍 :

     


     

    192. Create table emp with only one column empno [Link]

    • 관측치 없이 empno 칼럼만 존재하는 테이블을 생성하시오.
    • [테이블 생성] 관측치가 없는 공백 테이블 생성
      • Oracle : Create table의 데이터 형식 - number
      • 파이썬 Pandas : numpy.empty() 과 numpy.dtype(), pd.DataFrame()의 데이터 형식 - str, int, float, numpy.datetime64
      • R 프로그래밍 : data.frame() 의 데이터 형식 - double(), integer(), factor(), logical(), character(), numeric()
      • R Dplyr Package : tibble() 의 데이터 형식 - numeric(), character(), as.POSIXct(NA), str(), class()
      • R sqldf Package : Create table의 데이터 형식 - number, str(), class(), attr()
      • Python pandasql Package : Create table의 데이터 형식 - char(), cast(), LIMIT
      • R data.table Package : data.table()의 데이터 형식 - character(), as.POSIXct(NA)
      • SAS Proc SQL : Create table의 데이터 형식 - num
      • SAS Data Step : stop 구문
      • Python Dfply Package : False
      • 파이썬 Base 프로그래밍 :

     


     

    193. Add this column to emp table ename Varchar(20). [Link]

    • emp 테이블에 varchar(20) 의 신규 변수 ename_1을 추가하시오.
    • [변수 추가] 공백 변수 추가
      • Oracle : Create table, desc, alter table의 Add
      • 파이썬 Pandas : assign(), np.nan
      • R 프로그래밍 : transform()
      • R Dplyr Package : dplyr::mutate(), add_column(), NA
      • R sqldf Package : Create table, desc, alter table의 Add
      • Python pandasql Package : ' '
      • R data.table Package : "", character(), character(.N), c(), list()
      • SAS Proc SQL : Create table, desc, alter table의 Add
      • SAS Data Step : length 구문, ' '
      • Python Dfply Package : np.nan, mutate()
      • 파이썬 Base 프로그래밍 :

     


     

    196. Add salary column to emp table. [Link]

    • emp 테이블에 신규 변수 salary 칼럼을 추가하시오.
    • [변수 추가] Zero(0)값으로 구성된 신규 변수 추가
      • Oracle : Create table, alter table의 add - number()
      • 파이썬 Pandas : assign()
      • R 프로그래밍 : transform()
      • R Dplyr Package : dplyr::mutate(), add_column()
      • R sqldf Package : Create table, alter table의 add - number()
      • Python pandasql Package :
      • R data.table Package : 변수 생성 할당자(':=')
      • SAS Proc SQL : Create table, alter table의 add - number(), update 구문
      • SAS Data Step : SET 구문, 할당 연산자('=')
      • Python Dfply Package : mutate()
      • 파이썬 Base 프로그래밍 :

     


     

    204. Create table called as new emp. Using single command create this table as well as to get data into this table (use create table as) [Link]

    • 신규 테이블 newemp을 생성하시오. 단일 명령어를 사용하여서 emp 테이블의 데이터와 변수 구조를 모두 동일하게 생성(복사)하시오.
    • [테이블 생성] 데이터와 변수 구조가 동일한 테이블 생성 - 테이블 구조 확인
      • Oracle : create table, desc 테이블명
      • 파이썬 Pandas : copy.copy(), head()
      • R 프로그래밍 : 테이블 할당 연산자('<-'), head(), tail()
      • R Dplyr Package : 테이블 할당 연산자('<-'), head(), tail()
      • R sqldf Package : 테이블 할당 연산자('<-'), head(), tail()
      • Python pandasql Package : 테이블 할당 연산자('='), head(), tail()
      • R data.table Package : 테이블 할당 연산자('<-'), head(), tail(), class()
      • SAS Proc SQL : create table, Proc print
      • SAS Data Step : SET 구문, Proc print
      • Python Dfply Package : 테이블 할당 연산자('='), head(), tail()
      • 파이썬 Base 프로그래밍 :

     


     

    205. Create table called as newemp. This table should contain only empno,ename, dname

    • empno,ename,dname 칼럼으로 구성된 신규 테이블 newemp 테이블을 생성하시오.
    • [테이블 생성] 특정 변수로 구성된 테이블 생성 - 테이블 결합 및 테이블 구조 확인
      • Oracle : create table, 내부 조인, Desc
      • 파이썬 Pandas : pd.merge(), sort_values(), head(), []
      • R 프로그래밍 : merge(), head(), c()
      • R Dplyr Package : dplyr::inner_join(), dplyr::select(), dplyr::arrange()
      • R sqldf Package : create table, 테이블 할당 연산자('<-'), 내부 조인, head()
      • Python pandasql Package : 테이블 할당 연산자('='), 내부 조인, head()
      • R data.table Package : 테이블 할당 연산자('<-'), Merge 방식의 테이블 결합, head(), order(), Rank(), .()
      • SAS Proc SQL : create table, 내부 조인, Proc Print
      • SAS Data Step : merge 구문, IF 조건문, KEEP 구문, Proc Print
      • Python Dfply Package : inner_join(), select(), arrange(), head()
      • 파이썬 Base 프로그래밍 :

     


     

    206. Delete the rows of employees who are working in the company for more than 2 years. [Link]

    • 2년 이상 근무한 직원의 정보를 삭제하시오.
    • [데이터 삭제] 특정 조건을 만족하는 데이터 삭제 - 날짜 기간 계산
      • Oracle : Delete 구문, Create table 구문, floor(), sysdate
      • 파이썬 Pandas : NOT('~') 연산자, pd.Timestamp.now(), pd.to_datetime(), dt.days
      • R 프로그래밍 : NOT('!') 연산자, Sys.Date()
      • R Dplyr Package : filter(), NOT('!') 연산자, Sys.Date()
      • R sqldf Package : Delete 구문, Create table 구문, floor(), 'now', julianday(), datetime()
      • Python pandasql Package : floor(), 'now', julianday(), substr()
      • R data.table Package : NOT('!') 연산자, Sys.Date()
      • SAS Proc SQL : Delete 구문 - 논리적 삭제, Create table 구문, YRDIF 함수, TODAY()
      • SAS Data Step : YRDIF 함수, TODAY(), IF 조건문
      • Python Dfply Package : filter_by(), NOT('~') 연산자, pd.Timestamp.now(), pd.to_datetime(), dt.days, make_symbolic()
      • 파이썬 Base 프로그래밍 :

     


     

    207. Provide a commission to employees who are not earning any commission. [Link]

    • 수수료가 제공되지 않는 직원에게 수수료 300을 부여하시오.
    • [데이터 갱신] 특정 데이터 업데이트 - Update
      • Oracle : UPDATE 구문, IS NULL, CASE WHEN 조건문
      • 파이썬 Pandas : np.where(), isna(), .loc[], apply(), lambda 함수, IF 조건문, np.isnan()
      • R 프로그래밍 : ifelse(), is.na(), transform(),
      • R Dplyr Package : ifelse(), is.na(), case_when()
      • R sqldf Package : UPDATE 구문, IS NULL, CASE WHEN 조건문
      • Python pandasql Package : IS NULL, CASE WHEN 조건문
      • R data.table Package : is.na(), 변수 할당 연산자(':=')
      • SAS Proc SQL : UPDATE 구문, IS NULL, CASE WHEN 조건문, COALESCE 함수, IFN 함수
      • SAS Data Step : IF 조건문, select 조건문, COALESCE 함수, IFN 함수
      • Python Dfply Package : apply(), lambda 함수, IF 조건문, math.isnan(), make_symbolic(), if_else(), isnull(), make_symbolic(), np.where(), case_when(), IF 조건문
      • 파이썬 Base 프로그래밍 :

     


     

    208. If any employee has commission his commission should be incremented by 10% of his salary. [Link]

    • 기존에 수수료가 부여된 직원에게 급여의 10%로 수수료를 변경하시오.
    • [데이터 갱신] 특정 데이터 업데이트 - 수식 반환 값으로 갱신(Update)
      • Oracle : UPDATE 구문, IS NOT NULL, CASE WHEN 조건문
      • 파이썬 Pandas : np.where(), notnull(), .loc[], apply(), lambda 함수, IF 조건문, np.isnan(), NOT('~') 연산자
      • R 프로그래밍 : ifelse(), is.na(), transform(), NOT('!') 연산자
      • R Dplyr Package : ifelse(), is.na(), case_when(), NOT('!') 연산자
      • R sqldf Package : UPDATE 구문, IS NOT NULL, CASE WHEN 조건문
      • Python pandasql Package : IS NOT NULL, CASE WHEN 조건문
      • R data.table Package : is.na(), 변수 할당 연산자(':='), NOT('!') 연산자
      • SAS Proc SQL : UPDATE 구문, IS NOT NULL, CASE WHEN 조건문, IFN 함수
      • SAS Data Step : IF 조건문, select 조건문, IFN 함수
      • Python Dfply Package : if_else(), notnull(), apply(), lambda 함수, IF 조건문, isnan()
      • 파이썬 Base 프로그래밍 :

     


     

    210. Display employee number, name and location of the department in which he is working. [Link]

    • 근무하고 있는 부서의 위치와 해당 부서의 사원번호와 직원 이름을 출력하시오.
    • 유사문제 : 91, 94, 95, 174, 210번
    • [데이터 추출] 내부 조인(Inner Join)을 만족하는 데이터 추출
      • Oracle : 내부 조인
      • 파이썬 Pandas : pd.merge()의 'inner'
      • R 프로그래밍 : base::merge()의 all=F
      • R Dplyr Package : dplyr::inner_join()
      • R sqldf Package : 내부 조인
      • Python pandasql Package : 내부 조인
      • R data.table Package : DT Syntax 방식의 데이터 결합, setkey() - 테이블 Key 설정, merge 방식의 데이터 결합 - 내부 조인
      • SAS Proc SQL : 내부 조인
      • SAS Data Step : Merge 구문, IF조건문
      • Python Dfply Package : inner_join()
      • 파이썬 Base 프로그래밍 :

     


     

    211. Display ename, dname even if there no employees working in a particular department(use outer join).

    • 사원정보와 근무하고 있는 부서명을 함께 출력하시오. 소속 부서가 없는 경우에도 함께 출력.(Outer Join)
    • [데이터 추출] 특정 조건을 만족하는 데이터 추출 - 비상관 서브쿼리(In), 중복 제거(Distinct)
      • Oracle :
      • 파이썬 Pandas :
      • R 프로그래밍 :
      • R Dplyr Package :
      • R sqldf Package :
      • Python pandasql Package :
      • R data.table Package :
      • SAS Proc SQL :
      • SAS Data Step :
      • Python Dfply Package :
      • 파이썬 Base 프로그래밍 :

     


     

    212. Display employee name and his manager name. [Link]

    • 직원 이름과 담당 관리자의 이름을 출력하시오.
    • [데이터 추출] 외부 조인(Outer Join)을 만족하는 데이터 추출 - Left Join
      • Oracle : 외부 조인 - Left join, Left Join 연산자('+')
      • 파이썬 Pandas : pd.merge()의 how='left'
      • R 프로그래밍 : base::merge()의 all.x=TRUE
      • R Dplyr Package : dplyr::left_join()
      • R sqldf Package : 외부 조인 - Left join
      • Python pandasql Package : 외부 조인 - Left join
      • R data.table Package : DT Syntax 방식의 테이블 결합(기준 테이블(왼쪽 테이블)이 대괄호 안쪽에 위치), merge 방식의 테이블 결합 - all.x=T
      • SAS Proc SQL : 외부 조인 - Left join
      • SAS Data Step : MERGE 구문, IF 조건문
      • Python Dfply Package : left_join()
      • 파이썬 Base 프로그래밍 :

     


     

    213. Display the department name along with total salary in each department. [Link]

    • 개별 부서에 근무하는 직원의 총 급여를 집계하여서 출력하시요.
    • [집계 함수] 그룹별 합계 계산 - SUM()
      • Oracle : Group By, SUM()
      • 파이썬 Pandas : groupby(), SUM(), agg()의 'sum' 인수
      • R 프로그래밍 : by=, aggregate()의 sum, list(), cbind()
      • R Dplyr Package : group_by(), dplyr::summarise()의 sum()
      • R sqldf Package : Group By, SUM()
      • Python pandasql Package : Group By, SUM()
      • R data.table Package : by=, sum(), list()
      • SAS Proc SQL : Group By, SUM()
      • SAS Data Step : PROC summary의 SUM=, FIRST. 와 LAST.
      • Python Dfply Package : group_by(), summarize()의 sum()
      • 파이썬 Base 프로그래밍 :

     


     

    214. Display the department name and total number of employees in each department. [Link]

    • 개별 부서에 근무하는 직원의 총 인원수를 출력하시요.
    • *[집계 함수] 그룹별 건수 카운팅 - COUNT()**
      • Oracle : Group By, COUNT(*)
      • 파이썬 Pandas : groupby(), describe()의 ['count', 'mean'], size(), agg()의 ['count'], agg()의 pd.Series.nunique와 'count', value_counts(), rp.summary_cont()
      • R 프로그래밍 : by=, aggregate()의 length, list(), cbind(), table(), tapply()
      • R Dplyr Package : group_by(), dplyr::summarise()의 n(), tally()
      • R sqldf Package : Group By, COUNT(*)
      • Python pandasql Package : Group By, COUNT(*)
      • R data.table Package : by=, .N, list()
      • SAS Proc SQL : Group By, COUNT(*)
      • SAS Data Step : PROC summary의 N=, FIRST. 와 LAST.
      • Python Dfply Package : group_by(), summarize()의 n()
      • 파이썬 Base 프로그래밍 :

     


     

    216. Display the current date and time [Link]

    • 현재 날짜와 시간을 출력하시오.
    • 현재 날짜 처리 : 13번, 14번, 216번
    • [날짜 데이터 처리] 현재 날짜를 출력하기 위한 다양한 방법 구현 - 날짜 출력 형식(포맷, Format), 날짜 형식 변경
      • Oracle : To_char()의 'month mon dd yy yyyy hh:mi:ss'와 'yyyymmdd' 날짜 포맷
      • 파이썬 Pandas : datetime.now(), datetime.today(), strftime(), localtime(), time(), gmtime()), assign(), pd.to_datetime(), .dt.strftime(), apply(), lambda 함수, info(), type(), .dtype, is_string_dtype()
      • R 프로그래밍 : Sys.Date(), Sys.time(), Sys.timezone(), lubridate::today(), format 출력 형식, as.POSIXlt(), base::transform(), sum(), max(), ave(), as.character(), as.Date(), class()
      • R Dplyr Package : as.character(), as.Date()
      • R sqldf Package : strftime(), datetime('now'), datetime('now','localtime'), TIME('now'), TIME('now','localtime')
      • Python pandasql Package : datetime('now'), datetime('now','localtime'), TIME('now'), TIME('now','localtime'), date(), substr()
      • R data.table Package : as.character(), as.Date(), format =
      • SAS Proc SQL : put(), input(), calculated
      • SAS Data Step : put(), input(), calculated
      • Python Dfply Package : make_symbolic(), pd.to_datetime, strftime(), apply(), lambda 함수
      • 파이썬 Base 프로그래밍 :

     

    반응형

    댓글