CS 9

(SQLD)SQL자격검정 실전문제(SQL기본 및 활용)

SQL기본 및 활용 2-1. SQL기본 오답 7번 SQL server에서는 여러개의 컬럼을 동시에 수정하는 구문은 지원하지 않음 분류명 수정시 NOT NULL구문 지정 필수, 지정하지 않을시 자동 NULL 40번 내장함수 1:M 조인이라 하더라도 M쪽에서 출력된 행이 하나씩 단일행 함수의 입력값으로 사용 다중행 함수도 단일행 함수와 동일하게 단일 값만을 반환헷갈리는 문제 16번 18번 테이블에서 컬럼 삭제시 ALTER TABLE 테이블명 DROP COLUMN 컬럼명 테이블 이름 변경시 RENAME 기존테이블명 TO 새테이블명 29번 37번 ORACLE과 SQL Server에서의 Commit, Rollback,Insert,Select ORACLE DDL문장 수행 후 자동 COMMIT수행 공백("")으로 데..

(SQLD)SQL자격검정 실전문제(데이터 모델링의 이해)

1.데이터 모델링의 이해 오답 2번 데이터 모델링이 필요한 주요이유 부적절한 것 데이터베이스를 구축하기 위한 용도를 위해 데이터 모델링을 수행하고 업무에 대한 설명은 별도의 표기법을 이용 ->데이터모델링이라는 것은 단지 데이터베이스만을 구축하기 위한 용도로 쓰이는 것이 아니라 데이터모델링 자체로서 업무를 설명하고 분석하는 부분에서도 매우 중요한 의미를 가지고 있다 4번 데이터모델링의 유의점에 해당하는 특성 지문 데이터 모델을 어떻게 설계했느냐에 따라 사소한 업무변화에도 데이터 모델이 수시로 변경됨으로써 유지보수의 어려움을 가중시킬 수 있다. 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 ..

(MariaDB)SQL프로그래밍

SQL프로그래밍 연습문제 1.EMP Table을 복사해서 EMPTEST이름으로 테이블을 생성하고 500 건의 테스트 데이터를 추가하는 procedure를 생성하여 추가하시오. DROP TABLE if exits emptest; CREATE TABLE emptest(SELECT * FROM emp); delimiter $$ CREATE PROCEDURE addProc() BEGIN DECLARE i INT ; SET i=1; while(i (SELECT AVG(sal) FROM emptest); END $$ delimiter ; 4.사원(EMPTEST)테이블에서 전체 사원을 대상으로 COMM 컬럼에 100 을 더하고 직업(JOB)이 ‘CLERK’ 인 사원은 현 급여에서 2배, ‘MANAGER’ 인 직업을 ..

(MariaDB)조인

조인 두 개 이상의 테이블을 서로 묶어서 하나의 결과 집합으로 만드는 것 조인은 기본키와 외래키사이의 공통적인 데이터를 기준으로 묶는다 테이블 2개 INNER JOIN(내부조인) 내부 조인은 둘 이상의 테이블에 존재하는 공통 속성의 값이 같은 것을 결과로 추출 1. SELECT username,addr, u.userid,b.userid,prodname,price,amount FROM usertbl u JOIN buytbl b ON u.userID=b.userid; 2. SELECT username,addr, u.userid,b.userid,prodname,price,amount FROM usertbl u INNER JOIN buytbl b ON u.userID=b.userid; 3. SELECT user..

(MariaDB)내장함수

제어 흐름 함수 IF(수식, 참 , 거짓) SELECT IF(100>200 , '참' ,'거짓') // 거짓 출력 IFNULL(수식1, 수식2) 수식1이 NULL이면 수식2 반환 수식1이 NULL이 아니면 수식1 반환 NULLIF(수식1, 수식2) 수식1과 수식2가 같으면 NULL반환 다르면 수식1 반환 CASE ~ WHEN ~ ELSE ~ END 연산자로 분류 다중분기 SELECT case 10 when 1 then '일' when 5 then '오' when 10 then '십' END; 문자열 함수 ASCII(아스키코드), CHAR(숫자) SELECT ASCII('A), CHAR(65); // 65 , 'A&#39..

(MariaDB)SQL문-DML

DML(Data Manipulation Language) 데이터를 조작(선택,삽입,수정,삭제)하는데 사용되는 언어 트랜잭션 발생 (데이터 조작시 실제 테이블에 적용하지 않고 임시로 적용, 실수가 있는 경우 취소가능) INSERT 데이터의 삽입 INSERT INTO 테이블(컬럼1, 컬럼2, ..) VALUES(값1, 값2,..) 컬럼 부분을 생략할 경우 모든 컬럼에 해당하는 값을 입력해야하고 생략하지 않을 경우 선택적으로 입력 가능 AUTO_INCREMENT 어떠한 컬럼이 AUTO_INCREMENT로 지정되어 있으면 INSERT문을 사용할 때 해당 컬럼이 없다고 생각하고 VALUE 값을 입력 INSERT될 때마다 AUTO_INCREMENT컬럼은 자동으로 1씩 증가 반드시 PRIMARY KEY 또는 UNIQ..

(MariaDB)SQL기본 2-GROUP BY, HAVING

SELECT문 GROUP BY 데이터들을 집계 함수를 통해 컬럼의 그룹별로 추출 예시 SUM 개수 합치기 사용자별 구매 총 수량 SELECT userID, amount FROM buytbl ORDER BY userid; SELECT userID,SUM(amount) FROM buytbl GROUP BY userID ORDER BY userid; 사용자별 총 구매액 SELECT userid, SUM(price *amount) AS '총 구매액' FROM buytbl GROUP BY userid ORDER BY userid; COUNT 행의 개수 제품별 각각의 총 수량 SELECT prodName,COUNT(prodname) FROM buytbl GROUP BY prodname; AVG 평균 SELECT u..

(MariaDB)SQL기본

SQL 데이터베이스 확인 SHOW DATABASES; 사용할 데이터베이스 지정 USE 데이터베이스; 테이블 확인 SHOW TABLES; 더 자세히 조회 SHOW TABLE STATUS; 테이블의 컬럼정보 조회 DESCRIBE 테이블; 혹은 DESC 테이블; USE구문 사용할 데이터베이스 지정 USE 데이터베이스 이름; SELECT문 select문 작성할 때 from -> where -> select 작동 SELECT 컬럼명 AS 새로운 컬럼명 FROM 테이블 WHERE 조건 위의 코드를보면 새로운 컬럼명으로 조건을 검색하면 오류가 발생한다. 왜냐하면 from -> where -> select순으로 작동하기 때문에 where에서 새로운 컬럼명을 인식하지 못하기 때문이다. 작은 따옴표 큰따옴표 구분 없음 S..

(MariaDB)데이터베이스

데이터베이스 데이터의 집합 여러명의 사용자, 공유 동시접근 가능 데이터베이스를 관리/ 운영 DBMS(Database Management System) 대량의 데이터를 보다 효율적으로 관리, 운영하기 위해 사용 데이터베이스를 잘 관리/운영하기위한 시스템 또는 소프트웨어 SQL(Structured Query Language) DBMS에 데이터를 구축하고 관리,활용하기 위해 사용되는 언어 DBMS를 통해 중요한 정보들을 입력하고 관리,추출 Excel의 경우 대용량관리를 하지않고 여러명의 사용자가 공유하지 않으므로 DBMS아님 특징 오류가 없는 무결성 : 어떤경로로 들어 왔을 때 데이터에 오류가 없어야함 데이터의 독립성 : 저장소를 변경하더라도 전혀 영향 받지 않아야 함 제약 조건 반드시 있어야 하는 데이터 중..