Database SQL/Oracle 21

[DB#20] 그룹설정+예제

회원번호, 이름, A항목점수, B항목점수, 성별, 가입일자가 있는 테이블 PERSON이 있다. 그룹을 나눌때는 기준이 필요하다. 그룹을 묶을때, 성별, 연도, 점수 등 여러가지 기준으로 나눌 수 있다. SELECT * FROM PERSON; 성별로 조회하는 방법은 다음과 같다. SELECT GENDER FROM PERSON; 이렇게 하면 1.남자, 2.남자, 3.여자, 4.남자, 5.여자 와 같은 방식으로 쭉 나온다.(회원 번호와 성별이 표시됨) 다른 방법으로는 SELECT DISTINCT GENDER FROM PERSON; -> 중복제거 SELECT GENDER FROM PERSON GROUP BY GENDER; 이렇게 하면 각종 항목을 추가할 수 있고, 여자와 남자라는 GENDER로만 출력된다. 그렇..

Database SQL/Oracle 2020.11.30

[DB#19] 함수 및 서브쿼리 점검 문제

어떤 테이블에 고객명단이 있다고 가정하였을 때, [1] 작년에 등록한 사람 수를 구하여 출력 SELECT COUNT(*) "사람수" FROM 테이블명 WHERE EXTRACT(YEAR FOM REGIST_DATE) = EXTRACT(YEAR FROM SYSDATE)-1; [2] 올해 가장 먼저 등록한 사람의 가입일 SELECT MIN(REGIST_DATE) "가입일" FROM 테이블명 WHERE EXTRACT(YEAR FOM REGIST_DATE) = EXTRACT(YEAR FROM SYSDATE); [3] 작년에 가장 나중에 등록한 사람의 모든 정보(날짜조회+정보확인=서브쿼리) SELECT * FROM 테이블명 WHERE REGIST_DATE = (); 위와 아래항을 더하여 SELECT MAX(REGI..

Database SQL/Oracle 2020.11.26

[DB#18] 오라클 함수

오라클에는 다양한 함수들이 존재한다. 오라클 내장 함수는 오라클이 제공하는 기본 연산 기능이다. SINGLE-ROW FUNCTION은 단일함수로, 단일 행에 대한 계산을 처리하는 함수이다. AGGREGATE FUNCTION은 집계함수로, 여러 데이터를 집계하여 계산을 처리하는 함수이다. 듀얼테이블 : 임시로 사용할 수 있는, 임시로 결과를 저장할 수 있는 테이블 SELECT * FROM DUAL; ex) SELECT 1234+5678 FROM DUAL; -> 하면 6912라는 계산결과가 나온다. UPPER : 모든 글자를 대문자로 변환 ex) SELECT UPPER('hello') "결과" FROM DUAL; -> HELLO 라는 계산 결과가 나온다. LOWER : 모든 글자를 소문자로 변환 ex) SE..

Database SQL/Oracle 2020.11.26

[DB#17] 정렬(SELECT) 데이터를 정렬해보자!(ASC, DESC)

정렬은 데이터를 순서대로 나열하는 것인데, 형식은 ORDER BY 항목 ASC/DESC, ... (참고로 ASC는 생략가능) -모든 사람을 번호순으로 정렬한다면(PERSON_NO ASC) SELECT * FROM 테이블명 ORDER BY PERSON_NO ASC; (오름차순) SELECT * FROM 테이블명 ORDER BY PERSON_NO ; (생략가능 안쓰면 ASC로 처리) SELECT * FROM 테이블명 ORDER BY PERSON_NO DESC; (내림차순) -모든 사람을 ASCORE 성적순으로 출력(ASCORE DESC) SELECT * FROM 테이블명 ORDER BY ASCORE DESC; -모든 남자들을 A 항목 성적순으로 출력(조건+정렬) SELECT * FROM 테이블명 WHERE ..

Database SQL/Oracle 2020.11.26

[DB#16] 조회(SELECT)

데이터 조회(SELECT)는 데이터베이스에서 가장 많이 하는 작업으로 , 내가 원하는 결과를 조회할 수 있는 명령이다. 1개의 데이터를 조회하기 위한 명령은 아래와 같다. SELECT 항목 FROM 테이블 [WHERE 조건] [GROUP설정] [정렬조건]; 첫 번째로, 전체 조회는 와일드카드(*)를 사용한다. SELECT * FROM 테이블; 해석하자면 -> SELECT(조회) *(전부) FROM 테이블명(테이블에서) 두 번째로, 특정 칸(ex.이름)을 조회 SELECT PERSON_NAME FROM 테이블명 세 번째로, 특정 칸(ex.성별)을 조회 SELECT GENDER FROM 테이블명 네 번째로, 특정 칸1과 칸2(ex.이름, 성별)을 조회 SELECT PERSON_NAME, GENDER FROM..

Database SQL/Oracle 2020.11.25