본문 바로가기

오라클6

오라클 데이터베이스 SQL(7) - 부조회(서브쿼리) 서브쿼리 SELECT * FROM NOTICE ORDER BY REGDATE DESC WHERE ROWNUM BETWEEN 1 AND 5 ; ORDER BY를 먼저 사용하고 싶음 하지만 순서 상 ORDER BY는 가장 마지막이기 때문에 위의 식처럼 실행하면 오류가 발생하게 됨 SELECT*FROM (SELECT*FROM MEMBER ORDER BY REGDATE DESC) WHERE ROWNUM BETWEEN 1 AND 10; Q. 평균 나이가 30 이상인 회원 목록을 조회하자 SELECT * FROM MEMBER WHERE AGE >= (SELECT AVG(AGE) FROM MEMBER); https://youtu.be/PSf1bFJDBSI 이걸로 공부중 2023. 7. 29.
오라클 데이터베이스 SQL(6) - SELECT문 구절 / ORDER BY / GROUP BY / HAVING / 순위함수 SELECT 문 구절 순서 SELECT, FROM, WHERE, GROUP BY , HAVING, ORDER BY WHERE 절은 집계함수 못씀 -> HAVING 절 사용 순서 정렬하기 ASC, DESC Q. 이름을 기준으로 역순 정렬 조회 SELECT*FROM MEMBER ORDER BY NAME DESC; -- 안쓰면 기본 값 ASC Q. 회원 중에서 '박'씨 성을 가진 회원 조회( 단 나이를 오름차순으로 정렬, 나이가 같을 시 등록일 내림차순으로 정렬) SELECT * FROM MEMBERS WHERE NAME LIKE '박%' ORDER BY AGE, REGDATE DESC; 집계함수와 GROUP BY 집계함수 : SUM, MIN, MAX, COUNT, AVG 순서 : SELECT, FROM, W.. 2023. 7. 29.
오라클 데이터베이스(5) - 문자열 내장함수 / 숫자 내장 함수 / 날짜함수 / 형식변환함수 / NULL 관련 함수 문자열 내장함수 1. 문자 쪼개기 SUBSTR -- 첫번째를 기분으로 3개를 잘라주라 SELECT SUBSTR('HELLO', 1 ,3) FROM DUAL; -- 세번째부터 잘라주라 SELECT SUBSTR('HELLO',3) FROM DUAL; -- 바이트 SELECT SUBSTRB('HELLO', 3) FROM DUAL; Q. MEMBER TABLE에 BIRTHDAY 열은 YYYY-MM-DD로 구성되어 있는데, MEMBER의 NAME열과 그사람의 출생 월을 추출하는 함수를 구해보자 -- 6번째 자리에서 2글자 뽑아내기 SELECT NAME, SUBSTR(BIRTHDAY, 6,2) FROM MEMBERS; Q. 전화번호가 011로 시작하는 회원의 모든 정보 추출하기 SELECT*FROM MEMBERS .. 2023. 7. 29.
오라클 데이터베이스 SQL(3) - 정규식 패턴 비교(전화번호/문자열 저번시간에 _와 %의 사용법에 대해서 배웠었다 WHERE NAME = '박%' > 앞자리가 박인 무언가 WHERE NAME LIKE '_박_' > 가운데에 박이 들어가는 세글자 단어 정규식 패턴 비교(숫자열 비교) 게시글 데이터에서 제목에 전화번호가 들어가는 코드를 짜보자 SELECT*FROM NOTICE WHERE TITLE LIKE '%-%-%'; 전화번호는 출력되지만 '선반 - 접시 - 그릇' 이라는 제목도 같이 출력된다 010-2222-3333 016-234-4353 017-444-5555 018-123-2345 019-232-2345 ... 거기다 전화번호 유형은 다양하과(과거에는) 자리수도 고정되어있지 않았다 '%-%-%' 부분을 01[016789] - [0123456789][012345678.. 2023. 7. 27.