--1) 이름이 두 글자(공백포함 3)인 학생의 이름을 검색하세요
--2) '공'씨 성을 가진 학생의 이름을 검색하세요
--3) 교수의 지위를 한글자로 검색하세요(ex. 조교수 -> 조)
--4) 일반 과목을 기초 과목으로 변경해서 모든 과목을 검색하세요
--5) 만일 입력 실수로 student테이블의 sname컬럼에 데이터가 입력될 때
-- 문자열 마지막에 공백이 추가되었다면 검색할 때 이를 제외하고
-- 검색하는 SELECT 문을 작성하세요
--1) 교수들이 부임한 달에 근무한 일수는 몇 일인지 검색하세요
--2) 교수들의 오늘까지 근무한 주가 몇 주인지 검색하세요
--3) 1991년에서 1995년 사이에 부임한 교수를 검색하세요
--4) 학생들의 4.5 환산 평점을 검색하세요(단 소수 이하 둘째자리까지)
--5) 사원들의 오늘까지 근무 기간이 몇 년 몇 개월 며칠인지 검색하세요
--1) 학생의 평균 평점을 다음 형식에 따라 소수점 이하 2자리까지 검색하세요
--'OOO 학생의 평균 평점은 O.OO입니다.'
--2) 교수의 부임일을 다음 형식으로 표현하세요
--'OOO 교수의 부임일은 YYYY년 MM월 DD일입니다.'
--3) 교수중에 3월에 부임한 교수의 명단을 검색하세요
--<단일 행 함수를 사용하세요>
--1) 이름이 두 글자(공백포함 3)인 학생의 이름을 검색하세요
SELECT SNAME
FROM STUDENT
WHERE LENGTH(SNAME) = 3;
--2) '공'씨 성을 가진 학생의 이름을 검색하세요
SELECT SNAME
FROM STUDENT
WHERE INSTR(SNAME, '공') = 1;
--3) 교수의 지위를 한글자로 검색하세요(ex. 조교수 -> 조)
SELECT SUBSTR(ORDERS, 1, 1)
FROM PROFESSOR;
--4) 일반 과목을 기초 과목으로 변경해서 모든 과목을 검색하세요
-- (ex. 일반화학 -> 기초화학)
SELECT REPLACE(CNAME, '일반', '기초')
FROM COURSE
WHERE CNAME LIKE '%일반%';
--5) 만일 입력 실수로 student테이블의 sname컬럼에 데이터가 입력될 때
-- 문자열 마지막에 공백이 추가되었다면 검색할 때 이를 제외하고
-- 검색하는 SELECT 문을 작성하세요
SELECT SUBSTR(SNAME, 1, LENGTH(SNAME) - 1)
FROM STUDENT;
SELECT TRIM(SNAME)
FROM STUDENT;
--<단일 행 함수를 이용하세요>
--1) 교수들이 부임한 달에 근무한 일수는 몇 일인지 검색하세요
SELECT PNO
, PNAME
, TRUNC(LAST_DAY(HIREDATE)) - TRUNC(HIREDATE)
FROM PROFESSOR;
--2) 교수들의 오늘까지 근무한 주가 몇 주인지 검색하세요
SELECT PNO
, PNAME
, TRUNC((SYSDATE - HIREDATE) / 7)
FROM PROFESSOR;
--3) 1991년에서 1995년 사이에 부임한 교수를 검색하세요
SELECT PNO
, PNAME
, HIREDATE
FROM PROFESSOR
WHERE TRUNC(HIREDATE, 'YYYY') BETWEEN TO_DATE('1991', 'YYYY') AND TO_DATE('1995', 'YYYY');
--4) 학생들의 4.5 환산 평점을 검색하세요(단 소수 이하 둘째자리까지)
SELECT SNO
, SNAME
, ROUND(AVR * 4.5 / 4.0, 2)
FROM STUDENT;
--5) 사원들의 오늘까지 근무 기간이 몇 년 몇 개월 며칠인지 검색하세요
SELECT ENO
, ENAME
, TRUNC(MONTHS_BETWEEN(SYSDATE, HDATE) / 12) || '년'
|| MOD(TRUNC(MONTHS_BETWEEN(SYSDATE, HDATE)), 12) || '개월'
|| TRUNC(SYSDATE - ADD_MONTHS(HDATE, MONTHS_BETWEEN(SYSDATE, HDATE))) || '일'
FROM EMP;
--1) 학생의 평균 평점을 다음 형식에 따라 소수점 이하 2자리까지 검색하세요
--'OOO 학생의 평균 평점은 O.OO입니다.'
SELECT SNAME || '학생의 평균 평점은 ' || ROUND(AVR, 2) || '입니다.'
FROM STUDENT;
--2) 교수의 부임일을 다음 형식으로 표현하세요
--'OOO 교수의 부임일은 YYYY년 MM월 DD일입니다.'
SELECT PNAME || '교수의 부임일은 ' || TO_CHAR(HIREDATE, 'YYYY') || '년 ' || TO_CHAR(HIREDATE, 'MM') ||
'월 ' || TO_CHAR(HIREDATE, 'DD') || '일입니다.'
FROM PROFESSOR;
SELECT PNAME || TO_CHAR(HIREDATE, '"교수의 부임일은 "YYYY"년 "MM"월 "DD"일입니다."')
FROM PROFESSOR;
--3) 교수중에 3월에 부임한 교수의 명단을 검색하세요
SELECT PNO
, PNAME
, HIREDATE
FROM PROFESSOR
WHERE TO_CHAR(HIREDATE, 'MM') = '03';\
select dno,DNAME
from DEPT
where lower(dname) = 'erp';
update STUDENT
set sname = sname||' ';
commit;
select sname from STUDENT
where length(SNAME) = 3;
select length('김은석')
from dual;
select sname from student
where substr(sname,1,1)='공';
---문자열 순서를 리턴
select pname, ORDERS
from PROFESSOR
where substr(ORDERS,1,1) = '조';
select replace(CNAME,'일반','바보 ㅋㅋ') ,CNO
from course;
select substr(SNAME,1,length(sname)-1) from student;
select sname from student;
--2.1
select pname,last_day(HIREDATE),HIREDATE,trunc(last_day(HIREDATE))- trunc(HIREDATE)
from PROFESSOR;
select pname, HIREDATE from PROFESSOR;
select pname, round((trunc(sysdate)- trunc(HIREDATE))/7)
from professor;
select pname, HIREDATE from PROFESSOR
where HIREDATE between to_date('1994','yyyy') and to_date('1995','yyyy');
select sname, round(avr*(9/8),2), avr
from student;
select pname, HIREDATE, trunc((sysdate - HIREDATE)/365,0)||'년'
from PROFESSOR;
SELECT
HIREDATE,
TRUNC(MONTHS_BETWEEN(SYSDATE, HIREDATE) / 12) || '년 ' ||
TRUNC(MOD(MONTHS_BETWEEN(SYSDATE, HIREDATE), 12)) || '개월 ' ||
TRUNC(MOD(TRUNC(SYSDATE) - TRUNC(HIREDATE), 30.5)) || '일'
AS "근무 기간"
FROM PROFESSOR;
select pname, trunc(months_between(trunc(sysdate), trunc(HIREDATE))/12)||'년'||trunc(mod(months_between(trunc(sysdate), trunc(HIREDATE)),12)) ||'개월'
||mod( (trunc(sysdate)-trunc(HIREDATE)),30.5 )
from PROFESSOR
;
select to_char(HIREDATE, 'yyyy') || '년'||to_char(HIREDATE, 'MM')||'월'||to_char(HIREDATE, 'dd')||'일'
from PROFESSOR;
select pname,HIREDATE from PROFESSOR
where to_char(HIREDATE,'MM')=3;
select SNAME, AVR
from STUDENT;
select * from student;
select HIREDATE from PROFESSOR;
select trunc(HIREDATE) from PROFESSOR;
select trunc(LAST_DAY(HIREDATE))-trunc(HIREDATE) from PROFESSOR;
select pno, pname, trunc ( (trunc(sysdate) - trunc(HIREDATE))/7) from PROFESSOR;
SELECT PNO
, PNAME
, TRUNC((SYSDATE - HIREDATE) / 7)
FROM PROFESSOR;
select pname, trunc( ( trunc(sysdate) - trunc(HIREDATE))/7 ) from PROFESSOR;
select pno, pname, hiredate from PROFESSOR where trunc(HIREDATE , 'YYYY') between to_date('1991','YYYY') and to_date('1995','YYYY');
select * from PROFESSOR where trunc(HIREDATE,'YYYY') between to_date('1994','YYYY') and to_date('1995','YYYY');
select * from PROFESSOR where trunc(HIREDATE) between to_date('1994','YYYY') and to_date('1995','YYYY');
select * from student;
select round( avr * (4.5/4),2) from student;
select trunc(months_between(sysdate,HDATE)/12), mod( trunc(months_between(trunc(sysdate),trunc(HDATE))) ,12), trunc( sysdate - add_months(Hdate, months_between(sysdate, HDATE)) ) from emp;
select trunc(months_between(sysdate,HDATE)/12), mod(trunc(months_between(sysdate,HDATE)),12 ), trunc( sysdate - add_months(HDATE, months_between(sysdate,HDATE) ) ) from EMP;
select trunc(months_between(sysdate,HDATE)/12), mod (trunc(months_between(sysdate, HDATE)
) ,12), trunc(sysdate - add_months(HDATE, months_between(sysdate, HDATE))) from EMP;
select trunc(months_between(sysdate,HDATE)/12) , mod( trunc(months_between(sysdate, HDATE) ) ,12) , trunc(sysdate - add_months(HDATE, months_between(sysdate,HDATE))) from EMP;
select * from student;
select sname || '학생의 평균 평점은' ||round(avr,2) || '입니다' from STUDENT;
SELECT SNAME || '학생의 평균 평점은 ' || to_char( ROUND(AVR, 2),'0.99' ) || '입니다.'
FROM STUDENT;
select HIREDATE from PROFESSOR;
select to_char(HIREDATE,'YYYY') || to_char(HIREDATE,'MM') from PROFESSOR;
SELECT PNAME || TO_CHAR(HIREDATE, '"교수의 부임일은 "YYYY"년 "MM"월 "DD"일입니다."')
FROM PROFESSOR;
select pname || to_char(HIREDATE, ' "교수의 부임일은 "YYYY"년 "MM"월 "DD" 일입니다." ') from PROFESSOR;
select * from PROFESSOR where to_char(HIREDATE,'MM') = '03';
select to_char(HIREDATE,'MM') from PROFESSOR;
[오라클] groupby having important point (0) | 2023.04.14 |
---|---|
[4월13일]중요한 수업내용 서브쿼리 차집합 교집합 합집합 (0) | 2023.04.13 |
[오라클]4월 13일 수업 예제 문제만 (1) | 2023.04.13 |
[쿼리문제]4.12 (0) | 2023.04.12 |
[4월 12일 쿼리]수업내용 (0) | 2023.04.12 |
댓글 영역