SELECT Exercise (School . Hobby Tables)

Script
● Table Name : school -> stdnum : Student Number, name : Name, birth : Birthday, eng : English, hb_no : Hobby Number
CREATE TABLE school (stdnum VARCHAR(15),name VARCHAR(15),
birth DATE,eng INT(3),hb_no INT(2), PRIMARY KEY(stdnum));
 
INSERT INTO school (stdnum,name,birth,eng,hb_no) VALUES
('20210110','Iron Man','1970-5-29',95,1),
('20200207','Black Widow','1984-12-3',100,2),
('20190522','Spider Man','2001-8-10',99,4),
('20201007','Batman','1915-4-17',100,2),
('20211201','Hulk','1969-12-18',80,5)";
 
● Table Name : hobby -> hb_no : Hobby Number, hb_name : Hobby Name
CREATE TABLE hobby (hobby_no int(3),hobby_name varchar(15));
 
INSERT INTO hobby (hb_no,hb_name) VALUES (1,'Movie'),(2,'Trip'),(3,'Soccer'),(4,'Song'),(5,'Basketball');
Contents
SELECT * FROM school;
stdnum name birth eng hb_no
20190522 Spider Man 2001-08-10 99 4
20200207 Black Widow 1984-12-03 100 2
20201007 Batman 1915-04-17 100 2
20210110 Iron Man 1970-05-29 95 1
20211201 Hulk 1969-12-18 80 5
Contents
SELECT * FROM hobby;
hb_no hb_name
1 Movie
2 Trip
3 Soccer
4 Song
5 Basketball
Query Input
두 개의 테이블을 사용해서 SELECT명령(아래 예문을 참고)을 작성 후 'Execute' 선택하세요.
Result
😲 위 Query입력에 명령을 입력 후 'Execute'을 선택해 주세요.
참고예제 : 아래 Query를 학습 후 연습해보세요.
예시별 다양한 Query 답이 있을 수 있습니다.

1) SELECT school.name,hobby.hb_name FROM school,hobby WHERE school.hb_no=hobby.hb_no;
school 테이블의 학생들의 동아리번호를 hobby테이블과 비교해서 학생이름과 동아리이름을 가져오시오.
방법1) 두 개의 테이블 비교하기

2) SELECT A.name,B.hb_name FROM school A,hobby B WHERE A.hb_no=B.hb_no;
school 테이블의 학생들의 동아리번호를 hobby테이블과 비교해서 학생이름과 동아리이름을 가져오시오.
방법2) school테이블을 A로 정의, hobby테이블을 B로 정의해서 사용하기

3) SELECT hobby.hb_name FROM school,hobby WHERE school.name='Spider Man' AND school.hb_no=hobby.hb_no;
school 테이블의 Spider Man의 동아리번호를 hobby테이블과 비교해서 동아리이름을 가져오시오.
방법1) 두 개의 테이블 비교하기

4) SELECT B.hb_name FROM school A,hobby B WHERE A.name='Spider Man' AND A.hb_no=B.hb_no;
school 테이블의 Spider Man의 동아리번호를 hobby테이블과 비교해서 동아리이름을 가져오시오.
방법2) school테이블을 A로 정의, hobby테이블을 B로 정의해서 사용하기


※ 서브쿼리(Sub Query:SQL 명령에 또 다른 SQL 명령을 사용하는 것)
5) select hb_name from hobby where hb_no=(select hb_no from school where name='Iron Man');
school 테이블의 Iron Man의 취미 이름을 hobby테이블에서 가져오시오.

6) select name from school where hb_no IN (select hb_no from hobby where hb_name='Trip');
hobby테이블에서 취미가 Trip인 학생의 이름을 school테이블에서 구하시오.

Copyright 2022 © SQL Query