[혼공SQL] chapter 3. 데이터베이스와 SQL 확인문제

여정이·2024년 1월 16일
0

혼자 공부하는 SQL

목록 보기
9/28

03-1. 기본 중에 기본 SELECT ~ FROM ~ WHERE

1. 다음은 실습용 데이터베이스 market_db에 대한 내용입니다. 거리가 먼 것을 하나 고르세요.

  1. 회원 테이블 member와 구매 테이블 buy로 구성되어 있습니다.
  2. SQL문을 사용해서 생성했습니다.
  3. CHAR, INT, DATE 등 다양한 데이터 형식을 사용했습니다.
  4. 회원 테이블 (member)과 구매 테이블 (buy)은 서로 아무런 연관이 없습니다.

정답 : 4, 회원 테이블(member)과 구매 테이블 (buy)은 서로 아무런 연관이 없습니다.
회원 테이블과 구매 테이블은 서로 PK, FK 관계로 연결되어 있다.



2. 다음은 USE 문에 대한 설명입니다. 거리가 먼 것을 모두 고르세요.

  1. 데이터베이스를 지정합니다.
  2. 필요하다면 테이블도 지정할 수 있습니다.
  3. 한 번 지정하면 MySQL 워크벤치를 재시작해도 계속 유지됩니다.
  4. USE를 여러 번 수행해도 오류가 발생하지는 않습니다.

정답 : 2, 3
MySQL 워크벤치를 재시작하거나, 새 쿼리 창을 열면 USE를 다시 사용해야 한다.



3. 다음 SQL문의 빈 칸에 들어갈 WHERE 절의 문법으로 틀린 것을 고르세요.

SELECT * FROM WHERE ____;
  1. mem_number == 4
  2. mem_number >= 4
  3. mem_number <= 4
  4. mem_number = 4

정답 : 1, mem_number == 4



4. 주소의 지역이 서울, 경기인 회원을 추출하는 SQL문입니다. 빈칸에 들어갈 수 있는 것을 모두 고르세요.

SELECT * FROM WHERE ____;
  1. addr IN('서울', '경기')
  2. addr BETWEEN '서울' AND '경기'
  3. addr = '서울' OR addr = '경기'
  4. addr = '서울' AND addr = '경기'

정답 : 1, 3






03-2. 좀 더 깊게 알아보는 SELECT문

1. 다음 SELECT 문에서 사용되는 절을 차례대로 나열하세요.

ORDER BY, WHERE, LIMIT, SELECT, FROM

정답 : SELECT -> FROM -> WHERE -> ORDER BY -> LIMIT



2. 다음 보기 중에서 각 문항의 빈칸에 들어갈 것을 고르세요.

LIKE, DESC, ORDER BY, DISTINCT, ASC, AND, OR, >=, LIMIT
1. SELECT FROM member (1) height;
2. SELECT
FROM member (2) 5.2;
3. SELECT (3) phone1 FROM member;

정답 : ORDER BY, LIMIT, DISTINCT


3. 다음 빈 칸에 들어갈 예약어를 체우세요.

ORDER BY 절에서 오름차순을 위한 예약어는 (1)이고, 내림차순을 위한 예약어는 (2)이다.

정답 : ASC, DESC


4. 다음 LIMIT에 대한 문법이 틀린 것을 하나 고르세요.

  1. LIMIT 5
  2. LIMIT 3, 5
  3. LIMIT 0, 3, 5
  4. LIMIT 5 OFFSET 3

정답 : 3. LIMIT 0, 3, 5


5. 다음은 어떤 예약어에 대한 설명인지 쓰세요.

조회된 결과에서 중복된 것은 한 개마남기며, SELEECT 문의 열 이름 앞에 붙여준다.

정답 : DISTINCT



6. 다음은 GROUP BY에서 사용하는 집계 함수입니다. 거리가 먼 것을 하나 고르세요.

  1. SUM()
  2. AVG()
  3. HAVING()
  4. COUNT()

정답 : 3, HAVING()




03-3. 데이터 변경을 위한 SQL문

1.다음은 INSERT문에 대한 형식입니다. 거리가 먼 것을 하나 고르세요.

INSERT INTO 테이블 (1,2, ...) VALUES(1,2, ...)
  1. (열1, 열2, ...)는 생략이 가능합니다.
  2. (열1, 열2, ...)을 표시했으면, (값1, 값2, ...)의 개수와 같아야 합니다.
  3. 열의 순서는 바꿀 수 있습니다.
  4. 필요하면 테이블의 이름은 생략할 수 있습니다.

정답 : 4. 필요하면 테이블의 이름은 생략할 수 있습니다.



2. 다음은 AUTO_INCREMENT에 대한 설명입니다. 거리가 먼 것을 2개 고르세요.

  1. 자동으로 값이 증가합니다.
  2. 지정된 열은 PRIMARY KEY로 설정해야 합니다.
  3. 필요하다면 1, 2, 3 등의 값을 입력할 수 있습니다.
  4. INSERT 문에서 해당 위치의 열은 ''으로 남겨둬야 합니다.

정답 : 4, INSERT 문에서 해당 위치의 열은 ''으로 남겨둬야 합니다., NULL 값을 입력해주어야 한다.


3. 다음 중 AUTO_INCREMENT로 지정한 열에 현재 어디까지 입력되었는지 확인하는 함수를 고르세요.

  1. LAST_INSERT_ID()
  2. FIRST_INSERT_ID()
  3. LAST_AUTO_ID()
  4. FIRST_AUTO_ID()

정답 : 1. LAST_INSERT_ID()



4. 다른 테이블의 데이터를 한 번에 입력하는 SQL문의 형식을 고르세요.

  1. SELECT INTO ~ INSERT
  2. INSERT INTO ~ SELECT
  3. INSERT FROM ~ SELECT
  4. SELECT FROM ~ INSERT

정답 : 2. INSERT INTO ~ SELECT



5. 다음은 UPDATE 문의 예제입니다. 빈칸에 들어갈 내용이 차례로 나열된 것을 고르세요.

UPDATE city_popul
 ____ city_name = '서울'
 ____ city_name = 'Seoul';
  1. INTO, FROM
  2. WHERE, TO
  3. FROM, INTO
  4. SET, WHERE

정답 : 4. SET, WHERE



6. 다음이 설명하는 SQL이 무엇인지 쓰세요.

  • 데이터를 삭제합니다.
  • DELETE와 동일한 효과를 내지만 속도가 무척 빠릅니다.
  • 삭제 후에 빈 테이블이 남아 있습니다.

정답 : TRUNCATE

0개의 댓글