반응형

분류 전체보기 282

[DB] SQL 사용법(2)

선택되는 행 제한 where 절을 사용한다. BETWEEN, IN, LIKE =, , >, 12000; 사원번호가 176인 사원의 이름과 부서 번호를 표시 select last_name, department_id from hr.employees where department_id = 176; 결과 없음 (사원 번호가 176인 튜플이 없음) 급여가 $5,000에서 $12,000 사이에 포함되지 않는 모든 사원의 이름과 급여를 표시 select last_name, salary from hr.employees where salary NOT Between 12000 AND 5000; 2007년 2월 20일과 2007년 5월 1일 사이에 입사한 사원의 이름, 업무 ID 및 시작일을 표시하되, 시작일을 기준으로 오..

CS/DB 2022.04.26

[DB] SQL 사용법(1)

SELECT 문 SELECT 뒤에 표시할 대상 열을 FROM 뒤에 열을 포함하는 테이블을 지정한다. Alias 열 명을 AS를 통해 재정의할 수 있다. (AS는 생략가능) "string" 처럼 ""로 묶어주는 것이 좋다. (특수문자나 빈 칸, 대소문자 구별이 필요할 때 ""로 묶어주지 않으면 에러 발생) 리터럴 ||을 사용하고 사이에 들어갈 문자는 ''안에 넣어준다. 중복행 제거 DISTINCT 명렁어를 사용한다. 테이블 구조 표시 DESCRIBE 명령어를 사용한다. 실습 1. 다음 명령어의 오류는? SELECT employee_id, last_name, sal * 12 AS "ANNUAL SALARY" FROM employees; 로 바꿔주어야 한다. (콤마 누락, 곱셈 기호 잘못됨, 열 이름 재정의할..

CS/DB 2022.04.26

[DB] 관계 대수 예시

데이터베이스 스키마가 다음과 같을 때 a~g의 질의를 관계 대수식으로 표현할 것 CUSTOMER(CUSTOMER_ID, NAME, ADDRESS, PHONE) VIDEO(VIDEO_ID, TITLE, GENRE) RESERVED(CUSTOMER_ID, VIDEO_ID, DATE) a. 제목이 '반지의 제왕'인 비디오의 장르를 검색하라 b. 예약된 비디오의 ID를 검색하라 c. 예약되지 않은 비디오의 ID를 검색하라 d. 예약된 모든 비디오의 제목을 검색하라 e. 비디오를 예약한 고객의 이름을 검색하라 f. 장르가 '액션'인 비디오를 예약한 고객의 주소를 검색하라 e. 장르가 '다큐멘터리'인 비디오를 모두 예약한 고객의 이름을 검색하라 selection은 S, projection은 P로 나타낸다. a. P..

CS/DB 2022.04.26

[DB] 관계 대수

관계 대수 : 어떻게 질의를 실행할 것인지 명시하는 절차적 언어 관계 대수는 필수적인 연산자, 편의를 위해 유도된 연산자로 나눌 수 있다. 필수 연산자는 여기를 참조 [DB] 연산자 개요 데이터베이스에서 쓰이는 연산자들을 정리한 문서이다. 연산자는 필수연산자와 편의를 위해 유도된 연산자로 나뉜다. 필수연산자 셀렉션, 프로젝션, 합집합, 차집합, 카티션 곱 편의를 위 gamedoridori.tistory.com 다른 관계 연산자들은 필수적인 관계 연산자를 두 개 이상 조합하여 표현할 수 있음 임의의 질의어가 적어도 필수적인 관계 대수 연산자들만큼의 표현력을 갖고 있으면 관계적으로 완전하다고 함 아래는 편의를 위해 유도된 연산자임 조인 연산자 두 개의 릴레이션으로부터 연관된 튜플을 결합하는 연산자 세타 조인..

CS/DB 2022.04.26

[SQL] Table 생성 및 수정, 삭제

테이블 생성 dept라는 이름의 Table을 생성한다. dept의 애트리뷰트는 다음과 같다. Number 타입의 deptno VarChar2 타입의 dname VarChar2 타입의 loc describe를 통해 테이블의 정보를 확인할 수 있다. 테이블 생성 시에 적용할 수 있는 데이터 타입은 다음과 같다. 서브 쿼리를 사용하여 테이블을 만들 수도 있다. employees 테이블의 일부를 서브 쿼리를 사용하여 dept80이라는 새로운 테이블로 만든 예시이다. ALTER 명령어를 통해 테이블의 열을 추가, 수정, 삭제할 수 있다. ADD를 통해 새로운 컬럼을 추가할 수 있다. 추가되는 컬럼은 마지막 컬럼이 된다. MODIFY를 통해 컬럼을 수정할 수 있다. 데이터 타입, 크기, 기본값 등을 변경할 수 있다..

CS/DB 2022.04.25

[SQL] 내포된 SQL

내포된 SQL SQL이 호스트 언어의 완전한 표현력을 갖고 있지 않기 때문에 모든 질의를 SQL로 표현할 수 없음 또한 SQL은 조건문(IF), 반복문(WHILE), 입출력 등과 같은 동작, 사용자와의 상호 작용 등의 기능을 가지고 있지 않음 따라서 DB에 접근하는 부분은 SQL이 맡고 SQL에 없는 기능은 호스트 언어로 작성해야 함 SQL 컴파일 과정 편집기로 호스트 언어 안의 내포된 SQL을 가지는 프로그램을 작성한다. 이 프로그램을 전컴파일러(preprocessor)로 처리한다. 그러면 내포된 SQL이 호스트 언어와 함수 호출문으로 변환이 된다. 변환된 프로그램은 C, java 컴파일러 등에 의해 오브젝트 프로그램을 생성한다. 링커는 오브젝트 프로그램과 SQL 라이브러리를 링크를 해서 .exe 확장..

CS/DB 2022.04.24

[백준 2309] 일곱 난쟁이 C++

문제 백준 2309 일곱 난쟁이 C++ 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 풀이 무난한 브루트 포스 문제이다. 아홉 난쟁이 중에 두 난쟁이는 합에 포함이 안 되고, 100이 되는 경우가 무조건 존재하므로 루프를 돌면서 포함이 안되는 두 난쟁이를 찾고 나머지 난쟁이를 벡터 result에 push해준다. 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40..

알고리즘/백준 2022.03.30

[백준 1065] 한수 C++

문제 백준 1065 한수 C++ 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 풀이 N까지 루프를 돌면서 N이 등차수열인지 아닌지 검사합니다. 한 자리, 두 자리 수는 무조건 등차수열이므로 주어진 범위에서는 세 자리 숫자만 검사하면 됩니다. (1000은 한수 아님) 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #include using namespace std; int ..

알고리즘/백준 2022.03.29
반응형