hyeonga_code
Database_73_SQL FUNDAMENTALS_실습 2 본문
-- Practice 2
-- EMPLOYEES 테이블에서 이름이 "Ki" 또는 "Ko"로 시작하는 모든 사원을 검색하는 query 를 작성
SELECT last_name
FROM employees
WHERE REGEXP_LIKE (last_name, '^K(i|o).');
-- LOCATIONS 테이블의 STREET_ADDRESS 열에서 공백을 제거하여 표시하는 query 를 작성
-- "Street Address"를 열 머리글로 사용
SELECT regexp_replace(street_address, ' ', '') AS "Street Address"
FROM locations;
-- LOCATIONS 테이블의 STREET_ADDRESS 열에서 "St"를 "Street"로 대체하여 표시
-- 이미 "Street"가 있는 행에 영향을 주지 않도록 주의하십시오. 영향을 받는 행만 표시
SELECT regexp_replace (street_address, 'St$', 'Street')
FROM locations
WHERE regexp_like (street_address, 'St');
-- contacts 테이블을 생성하고 해당 전화 번호가 표준 형식으로 데이터베이스에 입력되도록
-- 형식 마스크 (XXX) XXX-XXXX 를 적용하기 위해 p_number 열에 check 제약 조건을 추가
CREATE TABLE contacts(
l_name VARCHAR(20),
p_number VARCHAR(20),
CONSTRAINT p_number_format
CHECK (REGEXP_LIKE( p_number, '^\(\d{3}\) \d{3}-\d{4}$'))
);
/*
Table CONTACTS이(가) 생성되었습니다.
*/
-- INSERT 문을 실행하여 다음 7 개의 전화 번호를 contacts 테이블에 삽입
-- 어떤 번호가 추가되었습니까? 처음 두 개의 INSERT 문은 c_contacts_pnf 제약 조건을 따르는 형식을 사용하지만,
-- 나머지 문에서는 CHECK 제약 조건 오류가 발생합니다.
INSERT INTO contacts VALUES ('A', '(650) 555-5555');
/*
1 행 이(가) 삽입되었습니다.
*/
INSERT INTO contacts VALUES('B', '(215) 555-3427');
/*
1 행 이(가) 삽입되었습니다.
*/
-- 오류
INSERT INTO contacts VALUES('C', '650 555-5555');
INSERT INTO contacts VALUES('D', '650 555 5555');
INSERT INTO contacts VALUES('E', '650-555-5555');
INSERT INTO contacts VALUES('F', '(650)555-5555');
INSERT INTO contacts VALUES('G', ' (650) 555-5555');
SELECT * FROM contacts;
-- 문자열 gtctcgtctcgttctgtctgtcgttctg 에서 DNA 패턴 ctc 의 발생횟수를 찾는 query 를 작성
-- Alias Count_DNA 를 사용합니다. 대소문자는 구분하지 않습니다. 이 함수는 입력 문자열에서 패턴 일치가 발견되는 횟수를 반환
SELECT REGEXP_COUNT('gtctcgtctcgttctgtctgtcgttctg', 'ctc') AS Count_DNA
FROM dual;
'Oracle Database' 카테고리의 다른 글
Database_74_데이터베이스 설계_E-R 모델 (0) | 2023.08.26 |
---|---|
Database_73_SQL FUNDAMENTALS_실습 3 (0) | 2023.08.25 |
Database_73_SQL FUNDAMENTALS_실습 (0) | 2023.08.25 |
Database_72_DATETIME 응용_DATETIME 데이터 유형 SQL 함수 (0) | 2023.08.24 |
Database_72_DATETIME 응용_INTERVAL 데이터 유형 (0) | 2023.08.24 |