본문 바로가기

🛠️Skill/SQL29

[PL/SQL] Cursor/Loop/For Loop문 - 부서 번호 물어보기 💡부서 번호 물어보고, 해당 부서 사원 이름, 월급, 부서 번호 출력하기 1. Cursor / Loop문 Cursor문 사용 : cursor는 PS/SQL에서 처리할 데이터를 저장할 메모리 영역이다. Loop문 사용 : exit안하면 무한반복 주의!! declare v_ename emp.ename%type; v_sal emp.sal%type; v_deptno emp.deptno%type; cursor emp_cursor is -- 메모리 이름을 emp_cursor로 지정 select ename, sal, deptno from emp where deptno = &p_deptno; -- p_deptno로 입력받은 부서번호 사원들 이름,월급,부서번호를 메모리에 올림 begin open emp_cursor; -.. 2022. 11. 29.
[SQL문법] DATEDIFF, TIMESTAMPDIFF (날짜 차이)-MySQL 날짜간의 차이를 가져오는 함수 : DATEDIFF, TIMESTAMPDIFF DATEDIFF DATEDIFF(날짜1, 날짜2) # = 날짜1 - 날짜2 TIMESTAMPDIFF TIMESTAMPDIFF(단위, 날짜1, 날짜2) # 날짜2 - 날짜1 단위 SECOND : 초 MINUTE : 분 HOUR : 시 DAY : 일 WEEK : 주 MONTH : 월 QUARTER : 분기 YEAR : 연 프로그래머스 예시1 2022.12.11 - [Data Analytics/Programmers] - [프로그래머스] Lv3. 오랜 기간 보호한 동물(1) / 오랜 기간 보호한 동물(2) [프로그래머스] Lv3. 오랜 기간 보호한 동물(1) / 오랜 기간 보호한 동물(2) 오랜 기간 보호한 동물(1) 문제 https:.. 2022. 11. 24.
[SQL문법] REPLACE 특정 문자 변경 REPLACE : 특정 철자를 다른 철자로 변경 1. 이름과 월급을 출력하는데 월급의 숫자 0 을 * 로 변경해서 출력 SELECT ename, REPLACE(sal,0,'*') FROM emp WHERE ROWNUM 2022. 11. 17.
[SQL문법] CONCAT 함수, || 연산자 (문자열 연결, 합치기) 1. CONCAT 함수 SELECT CONCAT (str1, str2 ...) ; SELECT CONCAT('오늘의 날씨는',':','흐립니다.') FROM DUAL; [out] 오늘의 날씨는 : 흐립니다. 오라클은 매개변수를 2개만 받기때문에 여러 문자를 연결하려면 중첩해서 CONCAT함수를 사용해야한다. SELECT CONCAT(CONCAT(ename, ' '),job) 직원, sal 월급 FROM EMP; 2. || 연산자 Oracle에서는 문자열을 연결시켜주는 도구로 쓰이고, MySQL에서는 논리연산자 OR를 의미한다. Oracle SELECT ename || ' ' || job 직원, sal 월급 FROM EMP; 문자열이 아닌 타입 합치기 SELECT 'ename:' || ename || ' .. 2022. 11. 17.
[SQL문법] 문자(LENGTH, REPLACE, CONCAT)함수, 날짜&시간 함수 💡 SELECT 함수(컬럼이름1) , 함수(컬럼이름2) FROM 테이블 ; 1. 문자 함수 LENGTH() 문자열 길이 반환 TRIM() 앞,뒤 공백 제거 UPPER(), LOWER() 대문자 / 소문자로 변경 LEFT(값, N) 왼쪽부터 N 번째까지 RIGHT(값, N) 오른쪽부터 N번째까지 REPLACE() 특정 문자를 찾아서 변경 ▶ 예제 # LENGTH SELECT NAME, length(NAME) -- NAME컬럼의 문자열 길이 FROM STOCK_INFO ORDER BY 2 DESC; -- 2번째 컬럼 문자열이 긴 순서대로 정렬(내림차순) # TRIM -- 앞뒤 공백 제거 SELECT trim(' YUMIN ') SELECT * FROM STOCK_INFO WHERE REGION = TRIM(.. 2022. 11. 9.
[SQL문법] JOIN문 / NATURAL, INNER, CROSS, OUTER, SELF JOIN 1. NATURAL JOIN 같은 이름을 가진 칼럼 전체에 대한 등가(=EQUI) 조인 앨리어스나 테이블명 사용 불가 USING 조건절이나 ON 조건절 사용 불가 같은 데이터 유형 칼럼만 조인 가능 💡 SELECT 컬럼이름1, 컬럼이름2 FROM 테이블이름1 NATURAL JOIN 테이블이름2; 2. INNER JOIN 행에 동일한 값이 있는 칼럼 조인, JOIN의 디폴트 옵션 USING 조건절이나 ON 조건절 필수 ★ CROSS JOIN, OUTER JOIN과 동시 사용 불가 두 테이블에 동일 이름 칼럼이 있을 경우 SELECT절에 앨리어스 필수 ★ USING 조건절에는 앨리어스나 테이블명 사용 불가 💡 SELECT 컬럼이름1, 컬럼이름2 FROM 테이블이름1 A, 테이블이름2 B WHERE A.컬럼 .. 2022. 11. 8.