JUST GO

[DBMS] TEST 본문

DBMS/TEST

[DBMS] TEST

root_go 2022. 10. 6. 14:34

Q1. MariaDB DMBS에서 사용하는 함수(Function)에 대한 기능과 용법에 대해 서술하시오.

 

1-1. 일반 함수 'DATE_ADD'의 기능과 용법에 대해 서술하세요.

더보기
  • DATE_ADD(t, INTERVAL a i) : 일시값 t 에 i 주기의 a 만큼의 날짜 혹은 시간을 더한다.
  • SELECT DATE_ADD(NOW(), INTERVAL 1 HOUR);

 

1-2. 통계 함수 'SUM'의 기능과 용법에 대해 서술하세요.

더보기
  • SUM(c) : 주어진 열 c 에 대한 합을 구한다.

 

1-3. 통계 함수 'AVG'의 기능과 용법에 대해 서술하세요.

더보기
  • AVG(c) : 주어진 열 c 에 대한 평균값을 구한다.

Q2. 아래 <요청작업>에 따라 테이블 구조를 수정하기 위한 쿼리를 작성하세요. 단, 테이블을 DROP 하여서는 안됩니다

ALTER TABLE `bbs`.`users`
    DROP COLUMN `contact_first`,
    DROP COLUMN `contact_second`,
    DROP COLUMN `contact_third`,
    ADD COLUMN `contact` VARCHAR(12) NOT NULL AFTER `birth`;

Q3. 아래 <요청작업>에 따라 레코드의 값을 수정 할 수 있는 쿼리문을 작성하세요.

더보기

`countries`.`gdps` 테이블에서 `value`의 속성 값을 1,000배로 수정하세요.

UPDATE `countries`.`gdps` 
SET `value` = `value` * 1000;

Q4. PK, FK, UQ 관련 언급은 되나, 시험에 나오지는 않습니다.


LEFT JOIN 관련

SELECT `country`.`value`                 AS `국가 코드`,
       `country`.`text`                  AS `국가 이름`,
       IFNULL(`pop`.`value`, '(자료 없음)')  AS `인구(만명)`,
       IFNULL(`area`.`value`, '(자료 없음)') AS `면적(km2)`,
       IFNULL(`pop`.`value` * 10000 / `area`.`value`, '(자료 없음)')    AS `면적당 인구(명/km2)`
FROM `world`.`countries` AS `country`
         LEFT JOIN `world`.`pops` AS `pop` ON `country`.`value` = `pop`.`country_value`
         LEFT JOIN `world`.`area` AS `area` ON `country`.`value` = `area`.`country_value`;