본문 바로가기
카테고리 없음

MySQL 에서 정보처리기사 SQL 문제 실습 해보기

by artra 2023. 8. 15.
반응형

https://artra.tistory.com/entry/MySQL-Workbench-%EC%84%A4%EC%B9%98-%EB%98%90%EB%8A%94-Failed-to-Connect-to-MySQL-at-1270013306-with-user-root-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0

 

MySQL 설치방법은 위 에서 참조

 

왼쪽 SCHEMAS 흰색 창에서 오른쪽 클릭하면 Create Schema 클릭

 

Name 은 test 오른쪽 중간에 보면 Apply 클릭

 

아무것도 건들지 말고 Apply - Finish 클릭

 

왼쪽 SCHEMAS 창에 test 가 보이면 중앙 test- Schema 는 x 를 누른다

 

마우스로 test에서 오른쪽을 누른다음 Set as Default Schema 를 선택

이유는 추후 Query 작성시 test 스키마를 별도로 작성 할 필요가 없기 때문이다.

 

이제 쿼리 작성을 하기 위해 왼쪽 위 File - New Query Tab 을 선택

 

2020년 정보처리기사 2회 실기시험 내용을 참조로

아래와 같은 students 테이블을 만든다

studentID name grade subject credit number
111 김학생 1 국어 85 010-1111-2222
222 이학생 2 영어 90 010-2222-3333
333 박학생 3 수학 95 010-3333-4444
444 최학생 4 과학 100 010-4444-5555

 

CREATE TABLE students (
    studentID int,
    name varchar(255),
    grade int,
    subject varchar(255),
    credit int,
    number varchar(255)
);

 

위 열이름을 사실 한글로 해도 된다. 학번, 이름, 학년, 과목, 학점, 폰번호 등으로

 

* 만약 스키마를 지정하고 싶다면 test.student 하면된다.

 

* not null 추가시 studentID int not null , 이렇게 작성

* primary key 추가시 괄호안 맨 마지막 행에 primary key(studentID) 작성

 

 

 

코드를 입력후 Query 창에 저장표시 옆에 번개아이콘을 클릭

 

번개아이콘 클릭후 output에 녹색체크로 row(행) 없는 테이블 생성 된걸 볼 수 있다.

꼭 해야하는것은

SCHEMAS 옆에 refresh 버튼을 클릭하면 Tables 에 students 가 추가된게 보인다.

 

 

다시 쿼리창에가서 테이블 코드를 지우고

 

INSERT INTO students VALUES(111, '김학생', 1, '국어', 85, '010-1111-2222')

 

위 내용을 입력후 번개 표시를 누르면

 

입력이 완료 되었다.

 

확인 방법은

왼쪽 Tables 에 students 에서 마우스 오른쪽을 누르면 Select Rows - Limit 1000 클릭

 

정상적으로 등록 된게 보인다.

 

나머지도 입력하자

 

INSERT INTO students
VALUES(222, '이학생', 2, '영어', 90, '010-2222-3333')

INSERT INTO students
VALUES(333, '박학생', 3, '수학', 95, '010-3333-4444')

INSERT INTO students
VALUES(444, '최학생', 4, '과학', 100, '010-4444-5555')

 

위 코드를 Query 창에 입력후 번개아이콘 클릭하면 오류가 뜨니

 

INSERT INTO students
VALUES(222, '이학생', 2, '영어', 90, '010-2222-3333'),
              (333, '박학생', 3, '수학', 95, '010-3333-4444'),
              (444, '최학생', 4, '과학', 100, '010-4444-5555');

 

위 같이 입력해야 정상적으로 등록된다.

 

 

이제 sql 문제를 풀 준비가 다 되었다.

 

2020년 정보처리기사 2회 실기시험에 나왔던 문제는

 

1) 학생 테이블에서 3,4학년인 학번, 이름을 조회한다.

2) IN 연산자 사용해야 한다.

 

답은 

SELECT 학번, 이름 FROM 학생 WHERE 학년 IN (3, 4);

SELECT 학번, 이름 FROM 학생 WHERE 학년 IN (3, 4);

 

현재 하고 있는 SQL 에서 조회 하려면

 

SELECT studentID, name FROM students WHERE grade IN (3,4);

 

정상적으로 조회 된다.

반응형

댓글