반응형
👇 정리한 SQL파일 및 예제/과제 데이터들은 하단 git 링크에 오시면 있어용 👇
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
- 나이가 20세 이상인 사람의 정보를 모두 출력하시오
- 나이가 20세 이상인 사람의 이름과 나이를 출력하시오
- 포인트가 200이상인 사람의 이름과 주소, 포인트를 출력하시오
- 포인트가 300 미만인 사람의 모든 정보를 출력하되, 포인트를 내림차순으로 출력하시오
- 포인트가 200이상 250미만인 사람들의 모든 정보를 출력하시오
- 거주지가 서울인 사람의 모든 정보를 출력하시오
- 거주지가 서울이거나 용인인 사람의 정보 이름과 주소 출력
- 거주지가 수원인 사람의 모든 정보를 출력하시오
- 7번 문제를 조건식 IN 연산자를 사용하여 풀어보시오
- 모든 사람의 이름,나이가 출력되게 하세요 , 출력 시엔 name대신 이름으로, age대신 나이로 컬럼명을 변경하여 출력하시오
- 10번 문제를 실행 후 실제 테이블의 컬럼명도 바뀌었는지 확인하시오
- 30대인 사람의 모든 정보를 출력하시오
- 포인트에 10% 사용가능한 (가용포인트)라고 할 때, 20포인트가 넘는 사람의 이름,나이,실제포인트, 가용포인트를 출력하시오
- 포인트가 높은 순서대로 정렬하고, 포인트가 같은 경우 나이가 많은 순서대로 출력하시오
해설
-- 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;
반응형
'📖 Study > 🎈 ᴏʀᴀᴄʟᴇ' 카테고리의 다른 글
2023/09/07⭐️SQL(Structured Query Language)의 종류와 구문법 그리고 과제 (1) | 2023.09.12 |
---|---|
2023/09/06📝 오라클의 함수를 배워보자 (0) | 2023.09.12 |
2023/09/05 ✅ 네트워크 통신 방식 및 SQL문법 (0) | 2023.09.10 |
2023/09/01 📌 시퀀스란 무엇일까 (0) | 2023.09.10 |
2023/08/31 ✏️ 요구분석과 수집방법 (0) | 2023.09.08 |