DataScience
article thumbnail
Published 2022. 12. 14. 13:40
R-SQL(ORACLE) 연동 기초 문제 SQL
728x90

<sql />
--------------------------ORACLE SQL DEVELOPER-------------------------------- --1. SQL developer를 이용하여 Oracle XE DB에 scott계정으로 접속하여 아래 table 을 생성하시오. CREATE TABLE EXAM_TABLE( ID VARCHAR(50) PRIMARY KEY, PASS VARCHAR(30) NOT NULL, NAME VARCHAR(25) NOT NULL, SCORE NUMBER(3) ); INSERT INTO EXAM_TABLE VALUES('1001', '1234','Kim',90); INSERT INTO EXAM_TABLE VALUES('1002', '3456','Lee',100); INSERT INTO EXAM_TABLE VALUES('1003', '5678','Park',85); INSERT INTO EXAM_TABLE VALUES('1004', '7890','Choi',75); SELECT * FROM EXAM_TABLE; COMMIT; ------------------------------RSTUDIO----------------------------------- # 2. Oracle XE DB에 접근하기 위한 설정(driver 설정, # import package 또는 package loading, DB연결 등)을 하시오. #import package library(DBI) library(rJava) library(RJDBC) #자바 환경변수 설정 Sys.setenv(JAVA_HOME = "C:\\Program Files\\Java\\jdk1.8.0_202") # Driver 설정 drv <- JDBC("oracle.jdbc.driver.OracleDriver", "C:/OracleTest/ojdbc6.jar") # 데이터베이스 연결 conn <- dbConnect(drv,"jdbc:oracle:thin:@//127.0.0.1:1521/xe", "scott", "tiger") # 3.exam_table 내 모든 데이터를 조회하시오. query = "SELECT * FROM EXAM_TABLE" dbGetQuery(conn, query) # ID PASS NAME SCORE # 1 1001 1234 Kim 90 # 2 1002 3456 Lee 100 # 3 1003 5678 Park 85 # 4 1004 7890 Choi 75 # 4. 아래 레코드 추가하시오. query = "INSERT INTO EXAM_TABLE VALUES('1005','2345','Jung',95)" dbSendUpdate(conn,query) query = "INSERT INTO EXAM_TABLE VALUES('1006','4567','Kang',80)" dbSendUpdate(conn,query) # 5. 추가된 레코드를 포함하여 exam_table 내 모든 데이터를 조회하시오. query = "SELECT * FROM EXAM_TABLE" dbGetQuery(conn, query) # ID PASS NAME SCORE # 1 1001 1234 Kim 90 # 2 1002 3456 Lee 100 # 3 1003 5678 Park 85 # 4 1004 7890 Choi 75 # 5 1005 2345 Jung 95 # 6 1006 4567 Kang 80 # 6. 성적(score) 기준으로 내림차순 정렬하시오. query = "SELECT * FROM EXAM_TABLE ORDER BY SCORE DESC" dbGetQuery(conn, query) # ID PASS NAME SCORE # 1 1002 3456 Lee 100 # 2 1005 2345 Jung 95 # 3 1001 1234 Kim 90 # 4 1003 5678 Park 85 # 5 1006 4567 Kang 80 # 6 1004 7890 Choi 75 # 7. name 이 ‘Choi’인 학생의 성적을 80점으로 수정하시오. query = "UPDATE EXAM_TABLE SET SCORE = 80 WHERE NAME = 'Choi'" dbSendUpdate(conn, query) # ID PASS NAME SCORE # 1 1001 1234 Kim 90 # 2 1002 3456 Lee 100 # 3 1003 5678 Park 85 # 4 1004 7890 Choi 80 # 5 1005 2345 Jung 95 # 6 1006 4567 Kang 80 # 8. 성적(score)이 80점 초과인 레코드만 조회하시오. query = "SELECT * FROM EXAM_TABLE WHERE SCORE > 80" dbGetQuery(conn, query) # ID PASS NAME SCORE # 1 1001 1234 Kim 90 # 2 1002 3456 Lee 100 # 3 1003 5678 Park 85 # 4 1005 2345 Jung 95 # 9. name이 ‘Kang’인 학생의 레코드를 삭제하시오. query = "DELETE FROM EXAM_TABLE WHERE NAME = 'Kang'" dbSendUpdate(conn, query) # 10. 전체 레코드를 조회하시오. query = "SELECT * FROM EXAM_TABLE" dbGetQuery(conn, query) # ID PASS NAME SCORE # 1 1001 1234 Kim 90 # 2 1002 3456 Lee 100 # 3 1003 5678 Park 85 # 4 1004 7890 Choi 80 # 5 1005 2345 Jung 95

'SQL' 카테고리의 다른 글

SQL Oracle DB XE 11g환경 구축  (1) 2022.12.14
SQL 서브쿼리 연습문제  (2) 2022.12.14
PL/SQL 프로시저 IN, OUT, IN OUT 차이  (1) 2022.12.14
R-SQL 연동(csv,DataFrame)  (0) 2022.12.14
SQL(Oracle)-R 연동 환경 구축  (0) 2022.12.14
profile

DataScience

@Ninestar

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!