본문 바로가기

db

[DB] 집합연산자 집합연산자는 합집합, 교집합, 차집합 등의 집합 기능을수행하는 연산자입니다.먼저 합집합부터 살펴보겠습니다.                   UNION : 중복되는 값을 제외하고 출력 SELECT 1 ID, '수학' SUBJECT, 90 SCORE FROM DUALUNIONSELECT 1 ID, '수학' SUBJECT, 90 SCORE FROM DUALUNIONSELECT 1 ID, '수학' SUBJECT, 90 SCORE FROM DUAL; 이렇게 중복되는 값을 조회하면한 번만 나오게됩니다.  UNION ALL : 중복되더라도 모두 출력 SELECT 1 ID, '수학' SUBJECT, 90 SCORE FROM DUALUNION ALLSELECT 1 ID, '수학' SUBJECT, 90 SCORE FROM.. 더보기
[DB] 패턴 연산자 패턴 연산자는 문자열을 포함하는 검색을 할 때 사용하는데like '패턴' 의 형태입니다.이 때 패턴에는 '%'를 넣는데 뭐가 들어갈지 모른다는 뜻입니다.%가 들어가는 경우는 총 3가지가 있을 수 있는데요. like   '%ㅋ'    : ㅋ로 끝나는 것like   'ㅋ%'    : ㅋ로 시작하는 것like  '%ㅋ%'  : ㅋ가 포함 그럼 like 대신 ( ='ㅋ%') 는 안될까요?    => 등호를 써서 식을 표현하면 패턴으로 인식하는 것이 아니라'ㅋ%' 문자 그대로 인식해버립니다. 예시로 하나 만들어보겠습니다. 크라운 과자거나, 몽쉘~인거 이름, 제조사, 가격 조회SELECT SNACK_NAME||SNACK_COMPANY||SNACK_PRICE FROM DEC26_SNACKWHERE SNACK_COMP.. 더보기
[DB] 관계연산자 관계연산자를 살펴봅시다.NOT, AND, OR, BETWEEN, IN 등이 있습니다.AND를 먼저 살펴보겠습니다.가격이 1000원 이상 3000원 이하인 과자의 전체내용을 조회해봅시다. SELECT * FROM DEC26_SNACK WHERE SNACK_PRICE >= 1000 AND SNACK_PRICE 3000; 자바에서 배웠던 && 연산자를 영어로 표기한 것이라 볼 수 있습니다.두 조건 모두 만족해야 조건식을 통과합니다.이것은 BETWEEN과 AND를 활용해서도 표현할 수 있습니다. SELECT * FROM DEC26_SNACK WHERE SNACK_PRICE BETWEEN 1000 AND 3000; 여기서 BETWEEN은 이상 이하로만 조건 범위를 정하기 때문에1000원 초과 3000원 미만인 .. 더보기
[DB] Where Where 절은 조건식으로전체 데이터 중 지정한 조건에 맞는 데이터를 찾아주는 문장입니다.조건식에 사용할 연산자 중 비교 연산자를 먼저 알아보겠습니다. = , !=, ^=, , >, =,  = : 같음!=, ^=, : 같지 않음!=, 는 표준화를 하려다보니 사용하게 되었고,^=는 몇몇 DBMS와 차별화를 두기 위해 사용하게 되었습니다. > : 초과>= : 이상 나머지 4개연산자는다른 언어에서 쓰이는 비교 연산자와 동일한 의미를 가지고 있습니다. 비교 연산자를 사용해서 실습해보겠습니다.과자 테이블에 대한 출력을 각각 해보겠습니다. --모든 과자 이름, 가격 조회SELECT * FROM SNACK; -- 모든 과자 이름(가격) 조회SELECT SNACK_NAME||'('||SNACK_PRICE||'원)' .. 더보기
[DB] 집계 / 분석/ NULL 함수 집계 / 분석 함수는 SELECT 컬럼명  절쪽이나 HAVING 절에서 주로 사용하는데요.이름 그대로 데이터를 집계 또는 분석해주는 함수입니다.하나씩 살펴보겠습니다. AVG(컬럼명) : 평균COUNT(컬럼명) : 검색되는 데이터 수MAX(컬럼명) : 최대값MIN(컬럼명) : 최소값SUM(컬럼명) : 총합 RANK : 중복 순위만큼 다음 순위값을 증가시킵니다.DENSE_RANK : 중복 순위가 존재해도 순차적으로 다음 순위값을 표시합니다. 다음은 NULL 관련 함수를 살펴보겠습니다.NULL : 미확인 값이나 아직 적용되지 않은 값을 의미합니다.0이나 비어있는 공란이 아닙니다.하나씩 살펴보겠습니다. NVL : NULL인 경우에만 지정된 값으로 대체하는 함수NVL(값, NULL일 때 대체값) 형식입니다.NVL.. 더보기
[DB] 날짜 함수 날짜와시간 함수에 대해서 자세히 알아보겠습니다.먼저 날짜 형식입니다.YYYY : 4자리 연도YYY, YY , Y : 각각 4자리 연도의 마지막 3, 2, 1 자리MM : 월 / DD : 1달 중 날짜(일자)DAY : 요일 (월요일 ~ 일요일)DY : 요일 약자 (월 ~ 일)HH, HH12 : 12시간 / AM or PM : 오전 or 오후HH24 : 24시간MI : 분 / SS : 초 SYSDATE : 현재 시간 / 날짜를 반환합니다.TO_DATE(s1, datetime형식) : 문자열 s1데이터를 날짜 데이터로 변환합니다. select to_date('2024-12-31 오전 06:00', 'YYYY-MM-DD PM HH:MI') from dual; TO_CHAR(date, datetime 형식) : .. 더보기
[DB] Read 다음은 CRUD 중 Read입니다.조회하는 작업인데요.Select를 사용해서 진행할 수 있습니다. select [distinct] [컬럼명], [컬럼명 as 별칭 || 컬럼명 별칭],[연산자 사용], [통계함수],...from [테이블명]where [조건식]group by [그룹대상]having [함수 포함 조건]order by [정렬대상 ASC : DESC (오름차순 | 내림차순)];-- 기본값은 오름차순 from을 제외하고는모두 선택부분입니다.생략이 가능합니다.여기서 주의할 점은 select 절의 순서는 섞이면 안됩니다.Select문을 순서대로 살펴보겠습니다. select * from dec26_snack; 테이블을 전체 조회하려면*을 사용하는데이것은 테이블 내의 모든 컬럼을 가져온다는 의미입니다. .. 더보기
[DB] DML DML은 데이터 조작어(Data Manupulation Language)라고 하고,테이블에 데이터를 검색, 삽입, 수정, 삭제 하는데 사용되는 문장을 말합니다.select, insert, update, delete 등이 있고,줄여서 CRUD (create read update delete) 라고 합니다.여기서의 C는 create table의 개념은 아니고데이터를 만든다는 의미입니다. (insert)형태는insert into 테이블명(컬럼명, 컬럼명,...) values (값,값,...);입니다.이떄 컬럼의 순서도 변경할 수 있습니다.컬럼의 값을 모두 넣지 않으면null값이 들어가게 됩니다.반면에 Not null을 걸어두게 되면오류가 발생하게 됩니다.컬럼의 값들은 가급적이면 값들이 다 들어가 있는 것이 좋.. 더보기