포스팅 목차
8. Display the names of all employees working as clerks and drawing a salary more than 3000.
* 사무원(CLERK)으로 근무하고 있는 사원 중에서 급여가 1000 이상인 사원의 이름을 출력하시오.
- 파이썬 & R 패키지 호출 및 예제 데이터 생성 링크
- [관측치 선택(데이터 Subset)] 복수의 조건문을 만족하는 관측치 출력
|
1. 오라클(Oracle)
Oracle Programming |
select ename
from emp
where job= 'CLERK'
and sal>1000;
2. 파이썬(Pandas)
emp 테이블에서 직책이 사무원(CLERK)이고, 급여가 1000 초과하는 사원을 선택한다.
Python Programming |
emp[ (emp['job'] == "CLERK") & (emp["sal"] > 1000) ][['ename']]
Results |
ename | |
10 | ADAMS |
13 | MILLER |
emp.loc[(emp.job == "CLERK") & (emp.sal >1000) , ["ename"]]
Results |
ename | |
10 | ADAMS |
13 | MILLER |
Query구문을 사용하여서 emp 테이블에서 직책이 사무원(CLERK)으로 근무하고 급여가 1000 초과하는 사원을 선택한다.
Python Programming |
emp.query('job == "CLERK" & sal > 1000')[["ename"]]
Results |
ename | |
10 | ADAMS |
13 | MILLER |
3. R Programming (R Package)
emp 테이블에서 직책이 사무원(CLERK)으로 근무하고 급여가 1000 초과하는 사원을 선택한다.
R Programming |
%%R
emp[emp$job == "CLERK" & emp$sal > 1000 , c("ename") ]
Results |
# A tibble: 2 x 1
ename
<chr>
1 ADAMS
2 MILLER
Which구문을 사용하여서 emp 테이블에서 직책이 사무원(CLERK)으로 근무하고 급여가 1000 초과하는 사원을 선택한다.
R Programming |
%%R
emp[which(emp$job == "CLERK" & emp$sal > 1000), c("ename") ]
Results |
# A tibble: 2 x 1
ename
<chr>
1 ADAMS
2 MILLER
Subset 구문을 사용하여서 emp 테이블에서 직책이 사무원(CLERK)으로 근무하고 급여가 1000 초과하는 사원을 선택한다.
R Programming |
%%R
subset(emp,subset= (job == "CLERK" & sal >1000) , select=ename)
Results |
# A tibble: 2 x 1
ename
<chr>
1 ADAMS
2 MILLER
4. R Dplyr Package
Filter 구문을 사용하여서 emp 테이블에서 직책이 사무원(CLERK)으로 근무하고 급여가 1000 초과하는 사원을 선택한다.
R Programming |
%%R
emp %>% filter(job == "CLERK" & sal > 1000) %>% dplyr::select(ename)
Results |
# A tibble: 2 x 1
ename
<chr>
1 ADAMS
2 MILLER
5. R sqldf Package
emp 테이블에서 직책이 사무원(CLERK)이고, 급여가 1000 초과하는 사원을 선택한다.
R Programming |
%%R
require(sqldf)
sqldf("select ename from emp where job= 'CLERK' and sal>1000")
Results |
ename
1 ADAMS
2 MILLER
6. Python pandasql Package
emp 테이블에서 직책이 사무원(CLERK)이고, 급여가 1000 초과하는 사원을 선택한다.
Python Programming |
ps.sqldf("select ename from emp where job= 'CLERK' and sal>1000")
Results |
ename | |
0 | ADAMS |
1 | MILLER |
7. R data.table Package
emp 테이블에서 직책이 사무원(CLERK)이고, 급여가 1000 초과하는 사원을 선택한다.
R Programming |
%%R
DT <- data.table(emp)
dept_DT <- data.table(dept)
DT[ job == "CLERK" & sal > 1000 , .( ename )]
Results |
ename
1: ADAMS
2: MILLER
8. SAS Proc SQL
SAS Programming |
%%SAS sas
PROC SQL;
create table statsas_1 as
select ENAME
from emp
where job = 'CLERK'
and sal > 1000;
QUIT;
PROC PRINT;RUN;
Results |
OBS | ename |
1 | ADAMS |
2 | MILLER |
9. SAS Data Step
SAS Programming |
%%SAS sas
DATA statsas_2;
SET EMP;
keep ename;
where job = 'CLERK'
and sal > 1000;
RUN;
PROC PRINT;RUN;
Results |
OBS | ename |
1 | ADAMS |
2 | MILLER |
10. Python Dfply Package
Python Programming |
emp >> filter_by(X.job == "CLERK" , X.sal > 1000) >> select(X.ename)
Results |
ename | |
10 | ADAMS |
13 | MILLER |
Python Programming |
emp >> mask(X.job == "CLERK" , X.sal > 1000) >> select(X.ename)
Results |
ename | |
10 | ADAMS |
13 | MILLER |
[SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트
반응형
'통계프로그램 비교 시리즈 > 프로그래밍비교(Oracle,Python,R,SAS)' 카테고리의 다른 글
[데이터 선택 - OR 연산자] Null 데이터 선택과 Or 연산자 - 10 (오라클 SQL, R, Python, SAS) (0) | 2021.08.04 |
---|---|
[데이터 조건 선택 - NOT NULL] 조건문을 만족하는 관측치 선택 후 특정 변수 출력 - 9 (0) | 2021.08.04 |
[관측치 선택] 조건문을 만족하는 관측치 출력 - 7 (0) | 2021.08.04 |
[변수 생성 & 결측치 대체] 결측치 대체 후 신규 변수 생성 - 6 (0) | 2021.08.04 |
[변수 생성] 신규 변수를 생성하여 데이터 출력 - 5 (0) | 2021.08.03 |
댓글