📖 Study/🎈 ᴏʀᴀᴄʟᴇ

2023/09/05🔖 week 1, Oracle Quiz

유리쯔의일상 2023. 9. 11. 23:47
반응형

 
 

👇 정리한 SQL파일 및 예제/과제 데이터들은 하단 git 링크에 오시면 있어용 👇

 

GitHub - gayulz/StudyHistory: 나의 공부 기록 commit

나의 공부 기록 commit . Contribute to gayulz/StudyHistory development by creating an account on GitHub.

github.com

Week 1 report

벌써 수업이 개강한지 1주일, 딱 7일째 되는 날이다.

솔직히 지금 포스팅은 11일이지만

매일매일 기록하고 있기에 (뻘쭘) 1주차때 풀었던 문제들을 다시 풀어보고자 올려본다

 

 

 

 

 

준비물

# 테이블 생성

CREATE TABLE MEMBER (
	NO number(2) PRIMARY KEY,
	name varchar2(10),
	age number(2), 
	addr varchar2(20)
);
# 삽입 데이터

INSERT INTO MEMBER VALUES ( 1, '김일수', 23, '경기도수원시',300);
INSERT INTO MEMBER VALUES ( 2, '홍길수', 34, '수원시', 250);
INSERT INTO MEMBER VALUES ( 3, '이지수', 48, '용인시', 100);
INSERT INTO MEMBER VALUES ( 4, '삼국지', 49, '서울시', 400);
INSERT INTO MEMBER VALUES ( 5, '사거리', 37, '용인시', 250);
INSERT INTO MEMBER VALUES ( 6, '오징어', 23, '서울시', 180);
INSERT INTO MEMBER VALUES ( 7, '칠성수', 10, '서울시', 300);

 

 

 

 

 

 

Quiz

 

  1. 나이가 20세 이상인 사람의 정보를 모두 출력하시오
  2. 나이가 20세 이상인 사람의 이름과 나이를 출력하시오
  3. 포인트가 200이상인 사람의 이름과 주소, 포인트를 출력하시오
  4. 포인트가 300 미만인 사람의 모든 정보를 출력하되, 포인트를 내림차순으로 출력하시오
  5. 포인트가 200이상 250미만인 사람들의 모든 정보를 출력하시오
  6. 거주지가 서울인 사람의 모든 정보를 출력하시오
  7. 거주지가 서울이거나 용인인 사람의 정보 이름과 주소 출력 
  8.  거주지가 수원인 사람의 모든 정보를 출력하시오
  9. 7번 문제를 조건식 IN 연산자를 사용하여 풀어보시오
  10. 모든 사람의 이름,나이가 출력되게 하세요 , 출력 시엔 name대신 이름으로, age대신 나이로 컬럼명을 변경하여 출력하시오
  11. 10번 문제를 실행 후 실제 테이블의 컬럼명도 바뀌었는지 확인하시오
  12. 30대인 사람의 모든 정보를 출력하시오
  13. 포인트에 10% 사용가능한 (가용포인트)라고 할 때, 20포인트가 넘는 사람의 이름,나이,실제포인트, 가용포인트를 출력하시오
  14. 포인트가 높은 순서대로 정렬하고, 포인트가 같은 경우 나이가 많은 순서대로 출력하시오

 

 

 

 

 

 

 

해설

-- 1번 
-- 나이가 20세 이상인 사람의 정보를 모두 출력하시오


SELECT name 
FROM MEMBER
WHERE age >= 20;


-- 2번 
-- 나이가 20세 이상인 사람의 이름과 나이를 출력하시오 


SELECT name, age 
FROM MEMBER 
WHERE age >= 20;


-- 3번 
-- 포인트가 200이상인 사람의 이름과 주소, 포인트를 출력하시오


select name , addr, point
from member
where point >= 200;


-- 4번 
-- 포인트가 300미만인 사람들의 모든 정보를 출력하되, 포인트를 내림차순으로 출력하시


SELECT name, age, addr
FROM MEMBER
WHERE age >= 30
ORDER BY age DESC ;


-- 5번 
-- 포인트가 200이상 250미만인 사람들의 모든 정보를 출력하시


select *
from member
where point BETWEEN 200 AND 250;


-- 6번 
-- 거주지가 서울인 사람의 모든 정보를 출력하시오.


SELECT * FROM MEMBER
WHERE addr LIKE '서울시';


-- 7번 
-- 거주지가 서울이거나 용인인 사람의 정보 이름과 주소 출력


select name , addr 
from MEMBER
WHERE addr = '서울시'
OR addr = '용인시';


-- 8번 
-- 거주지가 수원인 사람의 모든 정보를 출력하시오 


select *
from member
where addr LIKE '%수원시';


-- 9번 
-- 문제7번에서 조건식 in 연산자를 이용하여 풀어보시오


select name , addr
from member
where addr in('서울시', '용인시');


-- 10번 
-- 모든 사람의 이름과 나이가 출력되게 하세요, 출력시에는 name 대신 이름
-- age 대신 나이라고 컬럼명을 변경하여 출력하시오


SELECT name AS 이름, age AS 나이
FROM MEMBER;


-- 11번 
-- 문제10번 쿼리문을 실행 한 후 실제 테이블의 컬럼명도 바뀌었는지 확인하시오


SELECT * FROM MEMBER; -- 안바뀜


-- 12번 
-- 30대인 사람의 정보를 모두 출력하시오


SELECT * 
FROM ( SELECT * FROM MEMBER WHERE age >=30 )
WHERE age < 40;

SELECT * FROM MEMBER
WHERE age >= 30 AND age < 40;


-- 13번 
-- 포인트에 10% 사용가능(가용포인트)라고 할때 20포인트가 넘는 사람의
-- 이름 나이 실제포인트 가용포인트를 출력하시오


select name , age, point as 실제포인트, point*0.1 as 가용포인트
from member
where point >= 200;


-- 14번 포인트가 높은 순서대로 정렬하시오, 
-- 포인트가 같은 경우는 나이가 많은 순서가 우선입니다


SELECT name, point , age
FROM MEMBER 
ORDER BY point DESC , age DESC;

 

 

 

 

 

 

 

 

 

반응형