데이터베이스 45

오라클 SQL과 PL/SQL ( 단일행 함수 - 2)

LTRIM() : 왼쪽 제거 RTRIM() : 오른쪽 제거 REPLACE() : 문자변경 아주 많이 쓰임 퀴즈 1. EMP 테이블에서 아래와 같이 20번 부서에 소속된 직원들의 이름과 3~4번째 글자만 '-'로 변경해서 출력하세요 (책에선 2~3번이 잘려져 잇는데 퀴즈에 맞게 변경) 퀴즈 2. STUDENT 테이블에서 아래와 같이 1전공(DEPTNO1)이 101번인 학생들의 이름과 주민등록번호를 출력하되 주민등록 뒤 7자리는 '-' 와 '/'로 표시되게 출력하세요 퀴즈 3. STUDENT 테이블에서 아래 그림과 같이 1전공이 102번인 학생들의 이름과 전화번호, 전화번에서ㅏ 국번 부분만 '*' 처리하여 출력하세요. 단, 모든 국번은 3자리로 간주합니다. 퀴즈 4. STUDENT 테이블에서 아래와 같이 D..

오라클 SQL과 PL/SQL ( 단일행 함수)

단일행 함수 함수는 어떤 입력값을 받아서 정해진 루틴에 의해 작업하고 결과값을 만들어서 출력하는 것을 말한다. 실생활에서도 거의 모든 것이 함수로 만들어져 있다. 커피 자판기를 예를 들면 동전을 넣고 버튼을 누르면 커피가 나온다. 이것도 함수의 일종이다. SQL에서는 크게 단일행 함수와 복수행 함수로 구분한다. 단일행 함수 : 한번에 하나씩 처리하는 함수 복수행 함수 : 여러건의 데이터를 동시에 입력받아 1건으로 만들어주는 함수 단일행 함수는 입력되는 데이터의 종류에 따라 아래와 같이 구분할 수 있습니다. 함수에 입력되는 값이 문자면 문자함수, 숫자면 숫자함수, 날짜면 날짜함수라고 한다. 문자함수 INITCAP() : 첫글자만 대문자 나머지 소문자로 출력하는 함수 (영어) LOWER() : 모두 소문자로..

오라클 SQL과 PL/SQL ( 집합연산자 )

집합이라고 하면 , 본인이 중학교때 배웠던 수학을 떠올리기 쉬운데 그것과 거의 흡사하다. 여러건의 데이터가 모여있다는 뜻으로 주요 집합연산자는 4가지 종류가 있다. UNION : 두 집합의 결과를 합쳐서 출력, 중복값 제거하고 정렬 UNION ALL : 두 집합의 결과를 합쳐서 출력, 중복 값 제거 안하고 정렬 안함 INTERSECT : 두 집합의 교집합 결과를 출력 및 정렬 MINUS : 두 집합의 차집합 결과를 출력 및 정렬 / 쿼리 순서가 중요 집합연산자는 주의사항이 있다. 1. 두 집합의 SELECT절에 오는 컬럼의 개수가 동일해야 한다. 2. 두 집합의 SELECT절에 오는 컬럼의 데이터 형이 동일해야 한다. 3. 두 집합의 컬럼명은 달라도 상관없음. UNION / UNION ALL ( 두 집합..

오라클 SQL과 PL/SQL ( 날짜조회, 연산자, 정렬 )

날짜조회 오라클에서 날짜를 조회할때에는 반드시 '' 작은따옴표 안에 작성해야 합니다. 숫자외에는 꼭 작은따옴표를 사용해야 하고 문자는 대소문자를 구분, 날짜는 대소문자 구분이 없습니다. 연산자 오라클에서는 우리가 아는 사칙연산 + - * / 모두 가능하다. 값을 더할수도 뺄수도, 사칙연산이 모두 가능하다. 날짜도 비교가 가능하다. 81/12/25 일 보다 큰 날짜를 비교 하였으니 최신의 날짜가 검색이 된다. BETWEEN으로 구간 데이터 조회를 할 수있다. BETWEEN의 꼭 알아야 할 점은 작은 값을 앞에 큰값을 뒤에 둬야하며 두 값을 포함하여 결과를 출력한다는 점을 인지한다. 그리고 BETWEEN은 연산속도가 느려서 속도가 느리다. 같은 결과라면 비교 연산자를 쓰는게 훨씬 좋다. IN연산자는 여러조건..

오라클 SQL과 PL/SQL (데이터 조회 하기)

SELECT 명령을 이용하여 데이터를 조회하기. 39P 연습문제 1, 2, 3 정답 1. Student테이블에서 모든 학생과 이름 ID, 체중을 아래 화면과 같이 출력하고 컬럼이름은 "ID AMD WEIGHT"로 설정 정답 : select name || '''s ID:' || id || ', WEIGHT is ' || weight AS "ID AND WEUGHT" from student; 2. emp 테이벌을 조회하여 모든 사람의 이름과 직업을 아래와 같이 출력하세요. 정답 : select ename || '(' || job || ') ,' || ename ||''''|| job ||'''' AS "NAME AND JOB" from emp; 3. emp테이블을 조회하여 모든 사원의 이름과 급여를 아래와 ..

오라클 SQL과 PL/SQL (SELECT)

SELECT 문의 기본 1. 모든 컬럼 조회 SELECT [ * ] FROM [ TABLE NAME ]; 순서대로 풀이하자면 , 'SELECT 선택한다 * 를 어디에서? TABLE NAME에서!'라고 스스로 해석해 보았다. *는 전체(ALL)라는 뜻이다. 즉 TABLE NAME에서 전체다 선택할게 라고 명령하는 것이라 생각하면 됩니다. * 실제 사용에서는 대괄호 []를 삭제하고 사용합니다. / SELECT * FROM TABLENAME; 2. 특정 컬럼 조회 SELECT [ NAME, AGE ] FROM [ TABLE NAME ]; 위 모든 컬럼에서 *를 내가 원하는 컬럼명으로 바꾸면 됩니다. 여러 개일 경우 , 로 구분합니다. 3. 테이블에 어떤 컬럼이 있는지 확인하기 DESC [ 컬럼명 ];

오라클 SQL과 PL/SQL ( 기본 )

데이터베이스란 : 데이터를 저장해 놓는 곳, 저장되어 있는 데이터가 많으면 대용량 데이터베이스 또는 빅데이터라고 부르기도 합니다. 중요한 것은 이런 용어보다는 '어떻게 저장하고 관리할까?'라는 점이다. 하드디스크에 저장되어 있는 데이터를 사람이 직접 넣거나 지우거나 바꾸는 것은 불가능하다. 어디 있는지 모르기 때문이다. 그래서 데이터 관리를 해주는 전문적인 프로그램들이 있는데 그것을 DBMS(데이터베이스 관리 시스템, database management system)이라고 합니다. (toad, handiSQL 등) 이런 DBMS에서 프로그램에게 사용자 즉 개발자가 의도를 전달할 때 사용하는 언어가 SQL입니다. Structured Query Language 구조화된 쿼리 언어 즉 규칙 있는 말 정도로 번..

[MySQL] DATE 관련 함수

1. 연도 / 월 / 일자 추출하기 연도 추출 ( year 함수 ) 예 ) SELECT * FROM member WHERE YEAR(birthday) = '1991'; 월 추출 예 ) SELECT * FROM member WHERE MONTH(sing_day) IN (5, 6, 7); 일 추출 예 ) SELECT * FROM member WHERE DAYOFMONTH(sing_day) BETWEEN 15 AND 31; 2. 날짜 간의 차이 구하기 ( DATEDIFF 함수 사용 ) DATEDIFF(날짜 a, 날짜 b)를 사용하면 '날짜 a - 날짜 b'를 해서 그 차이 일수를 알려줍니다. 예를 들어, DATEDIFF(’2018-01-05’, ’2018-01-03’)의 값은 2입니다. 예 ) SELECT e..

데이터베이스 2020.08.31

[MySQL] PK, NN , AI 의 의미

Primary Key ( PK ) 테이블에서 특정 row 하나를 식별하는 역할, 특정 row를 고유하게 나타낼 수 있는 값 Natural Key 실제로 어떤 개체가 갖고 있는 속성을 나타내는 컬럼이 Primary Key가 됐을 때 이를 Natural Key라고 합니다. 사람은 주민등록번호로 특정 인물을 식별할 수 있습니다. 우리가 읽는 책은 ISBN이라고 하는 번호로 특정할 수 있구요. 바로 이런 속성을 나타내는 컬럼이 Primary Key가 되면 Natural Key라고 합니다. 현재 우리의 member 테이블에서는 email 컬럼이 각 회원을 식별할 수 있는 실제 속성입니다. 만약 제가 id 컬럼 말고 email 컬럼을 Primary Key로 설정했다면 Primary Key가 Natural Key인 ..

데이터베이스 2020.08.31
728x90