8장. SELECT명령문 : FROM 절 FROM 절에서 테이블 명세 열 명세 다중 테이블 명세 가명 FROM절의 다양한 예제

Slides:



Advertisements
Similar presentations
널 (null) 의 처리 널을 검색하는 방법 형식 예 ) takes 테이블에서 아직 학점이 부여되지 않은 학생의 학번을 검색 is null is not null ( 질의 64) select stu_id from takes where grade is null.
Advertisements

SQL 언어 SQL.
안녕하십니까! 아파하는 이웃을 위한 치료제, 약 사 팀의 발표를 시작하겠습니다..
고전에서 미래를 읽다(5) 영양괘각(羚羊掛角) 영양이 훌쩍 뛰어 나뭇가지에 뿔을 걸다
19.(코드+년도+월)별,(코드)별,전체총액을 한번에
SQL 0613.
소리가 작으면 이어폰 사용 권장!.
12 프로젝트 실습.
제로보드 소개 제로보드 설치하기 제로보드 관리하기
Chapter 02. 데이터 모델링.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
성경퀴즈 대회 출애굽기.
오라클 데이터베이스 성능 튜닝.
Database & Internet Computing Laboratory 한 양 대 학 교
Chapter 5 SQL: 확장된 질의, 주장, 트리거, 뷰.
SELECT 문 사원 테이블의 모든 정보를 출력하는 예제 1. 비교 연산자 SELECT 문의 형태
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
JDBC 프로그래밍 이수지 이동주 1.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
Apache Hive 빅데이터 분산 컴퓨팅 박영택.
3장. MySQL 5.x 설치와 정보 MySQL의 특징 MySQL 설치 MySQL의 데이터베이스 관리 툴
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
MySQL performance Xhark 김재홍.
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
18장. 뷰(View) 뷰의 생성 뷰의 열 이름 뷰의 변경 : WITH CHECK OPTION 뷰 테이블의 정보와 네비게이터
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
요약 정보 만들기.
강남/죽전/사당/잠실/성남/야탑/분당
MySQL 기본 사용법.
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
단일 테이블 조회를 위한 SELECT 문을 이해한다. 열 제약조건과 행 제약조건을 이해한다. 결과 집합 변경 방법을 이해한다.
14 뷰(View) 뷰의 개념 뷰 관리.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
19장. 트랜잭션과 락(LOCK) 트랜잭션이란? MySQL의 트랜잭션 락(LOCK) 쉽게 배우는 MySQL 5.x
21장. 데이터베이스 설계지침 테이블과 열에 대한 지침 중복 데이터의 포함 열에 대한 자료형의 선택
9장 테이블 생성 및 변경, 삭제하기(DDL).
SQL.
2장. 학사관리 예제 DATABASE 학사 데이터베이스의 해설 테이블의 내용 무결성 규칙 쉽게 배우는 MySQL 5.x
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
4장. 데이터베이스와 테이블 MySQL 데이터베이스 테이블의 생성 테이블 데이터 처리(삽입, 변경, 삭제) 작업
제 4 장 관계 데이터 연산 1. 개요 2. 관계 대수 3. 관계 해석.
문양세 (1st version: 문성우) (revised by 손시운)
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
Chapter 3: Introduction to SQL
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
JSP 게시판 구현.
12장. SELECT 명령문: ORDER BY절 단일 열 정렬 순서번호로 정렬 오름차순과 내림차순 정렬 하나 이상의 행 정렬
maria db JDBC PROGRAMMING3
Database 중고차 매매 DB 비즈니스IT 윤동섭.
9장. SELECT명령문 : WHERE 절 개요, 2. 관계연산자를 사용하는 조건
11장. GROUP BY와 HAVING 열의 그룹화 2개 이상의 열에 대한 그룹화
10장. SELECT명령문 : 통계함수 모든 열 선택(*) 2. SELECT 절의 수식
14장. 부속 질의어 부속 질의어 규칙 열의 범위 상호 관련부속 질의어 복합키의 사용 쉽게 배우는 MySQL 5.x
학습목표 학습목표 본 장은 데이터베이스를 구성하는 개체, 속성, 관계 등을 다룬다. 특별히 데이터베이스의 구조를 테이블에 기초하여 조직하는 관계 데이터 모델은 개체(entity)와 관계(relationship) 들이 테이블의 집합 형태로 되어 간단하고 이해하기 쉬우며.
06. SQL 명지대학교 ICT 융합대학 김정호.
과제 #5 MySQL 연동 php문서에서 SQL문의 삽입, 삭제, 수정, 검색을 수행한다. 주어진 form을 최대한 활용한다.
20장. SQL명령문의 최적화 1. OR연산자의 사용을 피하라. 2. 불필요한 UNION연산자의 사용을 피하라.
How I Approach Tuning a SQL Statement
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
1장. 서 론 데이터베이스의 개요 모델의 종류 관계형 모델과 객체 지향형 데이터베이스 SQL이란 무엇인가?
Data Base Mysql.
제 5 장 MariaDB인덱스 생성 및 관리.
fastestslowest 실제 질의문에서 사용 타입 추천 인덱스 SELECT list Default
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
Presentation transcript:

8장. SELECT명령문 : FROM 절 FROM 절에서 테이블 명세 열 명세 다중 테이블 명세 가명 FROM절의 다양한 예제 반드시 가명을 사용해야 하는 경우 2019-09-05 쉽게 배우는 MySQL 5.x

8.1 FROM 절에서 테이블 명세 -FROM 절은 사용하려는 테이블을 지정하기 위해서 사용 -테이블 참조는 가능하다면 가명이 따라오는 테이블 명세로 구성 -테이블 명세는 테이블 이름으로 구성, 뷰나 동의어를 지정 하여 사용 가능 -테이블 명세를  두 부분으로 구성 : 테이블 소유자의 이름.테이블의 이름 -사용자가 테이블의 소유자라면 소유자의 이름은 지정 불필요 [예제 8-1] “JJY”가 생성한 STUDENT 테이블의 전체 내용을 “KIM”이 보고자 할 때 적절한 SELECT 명령문을 완성하라(KIM은 STUDENT 테이블을 질의할 수 있는 권한이 있다고 가정한다). SELECT  * FROM  JJY.STUDENT; “JJY”이란 사용자가 STUDENT 테이블의 내용을 보고자 한다면 SELECT  * FROM  STUDENT; 2019-09-05 쉽게 배우는 MySQL 5.x

8.2 열 명세 SELECT 명령문은 열의 이름 앞에 열이 포함되어 있는 테이블의 이름을 지정 8.2 열 명세 SELECT 명령문은 열의 이름 앞에 열이 포함되어 있는 테이블의 이름을 지정 <table specification> . <column specification> 앞부분은 STUDENT이나 ATTEND과 같은 테이블 이름을 사용하고 생략도 가능 뒷부분은 stu_no이나 stu_name과 같은 열의 이름으로 반듯이 기록 [예제 8-2] 각 학생의 학번을 나타내어라(두 가지 방법을 사용할 수 있다). SELECT  STU_NO                      SELECT   STUDENT.STU_NO FROM   STUDENT;                    FROM     STUDENT; 2019-09-05 쉽게 배우는 MySQL 5.x

8.3 다중 테이블 명세 FROM 절에 두 개 이상의 테이블 명세 사용 8.3 다중 테이블 명세 FROM 절에 두 개 이상의 테이블 명세 사용 서로 다른 테이블로부터 데이터를 가져오려면 FROM 절에 여러 테이블 지정 [예제 8-3] 각 학생의 학번과 이름, 수강년도, 학기, 수강과목코드, 교수코드를 나타내어라. mysql> select student.stu_no, stu_name,     -> att_year, att_term, sub_code, prof_code     -> from student, attend     -> where student.stu_no = attend.stu_no; #FROM 절을 실행한 후 중간 결과 +----------+----------+----------+----------+․․․․․+----------+-----------+ | stu_no   | stu_name | att_year | att_term |․․․․․| sub_code | prof_code | | 20061011 | 박정인   | 2006     |        1 |․․․․․| 4001     | 4002      | | 20061011 | 박정인   | 2006     |        1 |․․․․․| 4002     | 4003      | | 20061011 | 박정인   | 2006     |        1 |․․․․․| 4003     | 4004      | | 20061011 | 박정인   | 2006     |        1 |․․․․․| 4004     | 4001      | | 20061011 | 박정인   | 2006     |        1 |․․․․․| 4005     | 4007      | | 20061011 | 박정인   | 2006     |        1 |․․․․․| 4006     | 4008      | | 20061011 | 박정인   | 2006     |        2 |․․․․․| 4007     | 4009      | ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․ 270 rows in set (0.08 sec) 2019-09-05 쉽게 배우는 MySQL 5.x

FROM절의 중간 결과 테이블의 내용 : 카티션 프로덕트(Cartesian product) FROM 절의 중간 결과 행의 수 :  A 테이블의 행수 * B 테이블의 행 수 FROM 절의 중간 결과 열의 수 :  A 테이블의 열수 + B 테이블의 열 수 예 :  STUDENT 테이블의 행수가 15행이고, 열의 수가 13열          ATTEND 테이블의 행수가 18 이고, 열의 수가 11열 FROM 절의 중간 결과의 행수와 열수 행 수 : 15 * 18 = 270 행       열 수 : 13 + 11 =  24 열 WHERE절의 중간 결과 student.stu_no = attend.stu_no (“테이블 명세.열의 명세” 형식 사용) 학생신상 테이블 학번과 수강 테이블의 학번이 같은 경우는 18행만 해당 2019-09-05 쉽게 배우는 MySQL 5.x

SELECT절의 최종 결과 (6개 열 값만 출력) +----------+----------+----------+----------+----------+-----------+ | stu_no   | stu_name | att_year | att_term | sub_code | prof_code | | 20061011 | 박정인   | 2006     |        1 | 4001     | 4002      | | 20061011 | 박정인   | 2006     |        1 | 4002     | 4003      | | 20061011 | 박정인   | 2006     |        1 | 4003     | 4004      | | 20061011 | 박정인   | 2006     |        1 | 4004     | 4001      | | 20061011 | 박정인   | 2006     |        1 | 4005     | 4007      | | 20061011 | 박정인   | 2006     |        1 | 4006     | 4008      | | 20061011 | 박정인   | 2006     |        2 | 4007     | 4009      | | 20061011 | 박정인   | 2006     |        2 | 4008     | 4005      | | 20061011 | 박정인   | 2006     |        2 | 4009     | 4006      | | 20061011 | 박정인   | 2006     |        2 | 4010     | 4001      | | 20061011 | 박정인   | 2006     |        2 | 4011     | 4002      | | 20061011 | 박정인   | 2006     |        2 | 4012     | 4003      | | 20071300 | 유하나   | 2007     |        1 | 4001     | 4002      | | 20071300 | 유하나   | 2007     |        1 | 4002     | 4003      | | 20071300 | 유하나   | 2007     |        1 | 4003     | 4004      | | 20071300 | 유하나   | 2007     |        1 | 4004     | 4001      | | 20071300 | 유하나   | 2007     |        1 | 4005     | 4007      | | 20071300 | 유하나   | 2007     |        1 | 4006     | 4008      | 18 rows in set (0.00 sec) 2019-09-05 쉽게 배우는 MySQL 5.x

[예제8-4] 학생들의 학번, 이름, 수강신청구분을 나타내어라. 단, 수강신청구분은 ATTEND 테이블에 있다. mysql> select s.stu_no, stu_name, att_div     -> from student s, attend a     -> where s.stu_no = a.stu_no; +----------+----------+---------+ | stu_no   | stu_name | att_div | | 20061011 | 박정인   | Y       | | 20071300 | 유하나   | Y       | 18 rows in set (0.00 sec) 2019-09-05 쉽게 배우는 MySQL 5.x

8.4 가명(Alias) -FROM 절에 여러 개의 테이블이 사용되는 경우에 가명 사용하면 편리 [예제8-5] 학생들의 학번, 이름, 수강신청구분을 나타내어라. 단, 학적 테이블의 가명을 S, 수강테이블의 가명은 A로 정의한다. mysql> select s.stu_no, stu_name, att_div     -> from student s, attend a     -> where s.stu_no = a.stu_no; -가명 S와 A는 FROM절이 먼저 처리되기 때문에 SELECT 절에서 사용되고 있지만 아무런 문제는 없다. -테이블 이름의 크기를 줄여서 SELECT 절을 좀 더 편리하고 쉽게 사용 -가명은 256문자까지 가능하며 영문자, 숫자, 밑줄 문자를 사용 -첫 번째 문자는 반드시 영문자로 시작 -동일한 가명을 1개의 문장에 사용할 수 없다. 2019-09-05 쉽게 배우는 MySQL 5.x

8.5 FROM절의 다양한 예제 [예제 8-6] 수강테이블의 학번과 이름, 과목코드, 교수코드, 교수명을 출력하라. mysql> select s.stu_no, stu_name, sub_code, p.prof_code, prof_name     -> from student s, attend a, professor p     -> where s.stu_no = a.stu_no and     -> a.prof_code = p.prof_code; +----------+----------+----------+-----------+-----------+ | stu_no   | stu_name | sub_code | prof_code | prof_name | | 20061011 | 박정인   | 4004     | 4001      | 정진용    | | 20061011 | 박정인   | 4010     | 4001      | 정진용    | | 20071300 | 유하나   | 4004     | 4001      | 정진용    | | 20061011 | 박정인   | 4001     | 4002      | 나인섭    | | 20061011 | 박정인   | 4011     | 4002      | 나인섭    | | 20071300 | 유하나   | 4001     | 4002      | 나인섭    | | 20061011 | 박정인   | 4002     | 4003      | 정창부    | | 20061011 | 박정인   | 4012     | 4003      | 정창부    | | 20071300 | 유하나   | 4002     | 4003      | 정창부    | | 20061011 | 박정인   | 4003     | 4004      | 박상철    | | 20071300 | 유하나   | 4003     | 4004      | 박상철    | | 20061011 | 박정인   | 4008     | 4005      | 정병열    | | 20061011 | 박정인   | 4009     | 4006      | 고진광    | | 20061011 | 박정인   | 4005     | 4007      | 김영식    | | 20071300 | 유하나   | 4005     | 4007      | 김영식    | | 20061011 | 박정인   | 4006     | 4008      | 최우진    | | 20071300 | 유하나   | 4006     | 4008      | 최우진    | | 20061011 | 박정인   | 4007     | 4009      | 문창수    | 18 rows in set (0.16 sec) 2019-09-05 쉽게 배우는 MySQL 5.x

[예제 8-7] 학적테이블의 학번과 이름, 수강테이블의 수강년도, 학기, 수강교과목코드, 교과목테이블의 교과목명을 나타내어라. mysql> select s.stu_no, stu_name, att_year, att_term, a.sub_code, sub_name     -> from student s, attend a, subject su     -> where s.stu_no = a.stu_no and     -> a.sub_code = su.sub_code; +----------+----------+----------+----------+----------+---------------------+ | stu_no   | stu_name | att_year | att_term | sub_code | sub_name            | | 20061011 | 박정인   | 2006     |        1 | 4001     | 데이터베이스 응용   | | 20061011 | 박정인   | 2006     |        1 | 4002     | 웹사이트 구축       | | 20061011 | 박정인   | 2006     |        1 | 4003     | 소프트웨어공학      | | 20061011 | 박정인   | 2006     |        1 | 4004     | 웹프로그래밍        | | 20061011 | 박정인   | 2006     |        1 | 4005     | 컴퓨터구조          | | 20061011 | 박정인   | 2006     |        1 | 4006     | 정보처리실무        | | 20061011 | 박정인   | 2006     |        2 | 4007     | UML                 | | 20061011 | 박정인   | 2006     |        2 | 4008     | 운영체제            | | 20061011 | 박정인   | 2006     |        2 | 4009     | 전자상거래 실무     | | 20061011 | 박정인   | 2006     |        2 | 4010     | 윈도우즈 프로그래밍 | | 20061011 | 박정인   | 2006     |        2 | 4011     | 자바프로그래밍      | | 20061011 | 박정인   | 2006     |        2 | 4012     | 네트워크 프로그래밍 | | 20071300 | 유하나   | 2007     |        1 | 4001     | 데이터베이스 응용   | | 20071300 | 유하나   | 2007     |        1 | 4002     | 웹사이트 구축       | | 20071300 | 유하나   | 2007     |        1 | 4003     | 소프트웨어공학      | | 20071300 | 유하나   | 2007     |        1 | 4004     | 웹프로그래밍        | | 20071300 | 유하나   | 2007     |        1 | 4005     | 컴퓨터구조          | | 20071300 | 유하나   | 2007     |        1 | 4006     | 정보처리실무        | 18 rows in set (0.20 sec) 2019-09-05 쉽게 배우는 MySQL 5.x

[예제 8-8] 학적테이블의 학번과 이름, 보관성적테이블의 성적 취득년도, 학기, 신청학점, 취득학점, 평점평균을 나타내어라. mysql> select s.stu_no, stu_name, sco_year, sco_term,     -> req_point, take_point, exam_avg     -> from student s, score sc     -> where s.stu_no = sc.stu_no; +----------+----------+----------+----------+-----------+------------+----------+ | stu_no   | stu_name | sco_year | sco_term | req_point | take_point | exam_avg | | 20061011 | 박정인   | 2006     |        1 |        18 |         18 |      4.5 | | 20061011 | 박정인   | 2006     |        2 |        18 |         18 |      4.0 | | 20061011 | 박정인   | 2007     |        2 |        18 |         0 |      0.0 | | 20071300 | 유하나   | 2007     |        1 |        18 |         18 |      4.4 | | 20071307 | 김문영   | 2007     |        1 |        18 |         18 |      4.4 | | 20071405 | 최차영   | 2007     |        1 |        18 |         18 |      4.2 | 6 rows in set (0.02 sec) 2019-09-05 쉽게 배우는 MySQL 5.x

[예제 8-9] 학적테이블의 학번과 이름, 수강테이블의 수강신청년도, 학기, 수강신청유무를 나타내어라. mysql> select s.stu_no, stu_name, att_year, att_term, att_div     -> from student s, attend a     -> where s.stu_no = a.stu_no; +----------+----------+----------+----------+---------+ | stu_no   | stu_name | att_year | att_term | att_div | | 20061011 | 박정인   | 2006     |        1 | Y       | | 20061011 | 박정인   | 2006     |        2 | Y       | | 20071300 | 유하나   | 2007     |        1 | Y       | 18 rows in set (0.00 sec) 2019-09-05 쉽게 배우는 MySQL 5.x

중복된 데이터가 존재하므로 SELECT 절에 DISTINCT를 사용 중복 제게 [예제 8-10] 학적테이블의 학번과 이름, 수강테이블의 수강신청년도, 학기, 수강신청유무를 나타내어라.(단, 중복은 배제한다.) mysql> select distinct s.stu_no, stu_name, att_year, att_term, att_div     -> from student s, attend a     -> where s.stu_no = a.stu_no; +----------+----------+----------+----------+---------+ | stu_no   | stu_name | att_year | att_term | att_div | | 20061011 | 박정인   | 2006     |        1 | Y       | | 20061011 | 박정인   | 2006     |        2 | Y       | | 20071300 | 유하나   | 2007     |        1 | Y       | 3 rows in set (0.02 sec) 최종 결과를 보면 중복된 데이터가 제거되어 18개 행에서 3개 행으로 줄어든 것을 확인 2019-09-05 쉽게 배우는 MySQL 5.x

[예제8-11]적어도 한번 이상 장학금을 받은 학생의 이름을 나타내어라. mysql> select distinct s.stu_no, stu_name     -> from student s, fee f     -> where s.stu_no = f.stu_no and     -> not jang_code is null; +----------+----------+ | stu_no   | stu_name | | 20001015 | 박도준   | | 20061011 | 박정인   | | 20071001 | 장수인   | | 20071010 | 홍길동   | | 20071022 | 이순신   | | 20071300 | 유하나   | | 20071307 | 김문영   | | 20071405 | 최차영   | 8 rows in set (0.00 sec) 조건 절에서 NOT JANG_CODE IS NULL의 “NOT IS NULL”은 “NULL값을 같지  않는다” 라고 해석한다. 2019-09-05 쉽게 배우는 MySQL 5.x

[예제8-12] 등록한 학생의 이름, 등록년도, 학기, 장학코드, 장학금총액, 등록구분을 나타내어라. mysql> select stu_name, fee_year, fee_term, jang_code, jang_total, fee_div     -> from student s, fee f     -> where s.stu_no = f.stu_no     -> and f.fee_div = 'Y'; +----------+----------+----------+-----------+------------+---------+ | stu_name | fee_year | fee_term | jang_code | jang_total | fee_div | | 박도준   | 2000     |        1 | 2         |    1000000 | Y       | | 박도준   | 2000     |        2 | 10        |    2500000 | Y       | | 박도준   | 2001     |        1 | 10        |    2500000 | Y       | | 박도준   | 2001     |        2 | 10        |    2500000 | Y       | | 박도준   | 2006     |        1 | 10        |    2500000 | Y       | | 박도준   | 2006     |        2 | 10        |    2500000 | Y       | | 박도준   | 2007     |        1 | 11        |    2000000 | Y       | | 박도준   | 2007     |        2 | 10        |    2500000 | Y       | | 박정인   | 2006     |        1 | 1         |     500000 | Y       | | 박정인   | 2006     |        2 | 10        |    2500000 | Y       | | 박정인   | 2007     |        1 | 11        |    2000000 | Y       | | 박정인   | 2007     |        2 | 21        |     800000 | Y       | | 장수인   | 2007     |        1 | 1         |     500000 | Y       | | 장수인   | 2007     |        2 | NULL      |       NULL | Y       | | 홍길동   | 2007     |        1 | 1         |     500000 | Y       | | 홍길동   | 2007     |        2 | NULL      |       NULL | Y       | | 이순신   | 2007     |        1 | 1         |     500000 | Y       | | 이순신   | 2007     |        2 | NULL      |       NULL | Y       | | 유하나   | 2007     |        1 | 1         |     500000 | Y       | | 유하나   | 2007     |        2 | 11        |    2000000 | Y       | | 김문영   | 2007     |        1 | 1         |     500000 | Y       | | 김문영   | 2007     |        2 | NULL      |       NULL | Y       | | 최차영   | 2007     |        1 | 1         |     500000 | Y       | | 최차영   | 2007     |        2 | 10        |    2500000 | Y       | 24 rows in set (0.00 sec) 2019-09-05 쉽게 배우는 MySQL 5.x

FROM 절에서 테이블 명세가 사용되는 순서는 무관 ① SELECT S.STU_NO FROM STUDENT S, FEE F WHERE S.STU_NO = F.STU_NO ② SELECT S.STU_NO FROM  FEE F, STUDENT S WHERE F.STU_NO = S.STU_NO ①번과 ②번은 FROM 절에서 테이블의 순서가 서로 바뀌었으나 결과 값은 동일 SELECT 절은 열이 출력되는 순서를 정의 ORDER BY 절은 행의 순서를 정의 2019-09-05 쉽게 배우는 MySQL 5.x

[예제 8-13] 2007년에 등록한 학생의 학번과 이름을 나타내어라. mysql> select distinct s.stu_no, s.stu_name     -> from student s, fee f     -> where s.stu_no = f.stu_no     -> and fee_year = 2007; +----------+----------+ | stu_no   | stu_name | | 20001015 | 박도준   | | 20061011 | 박정인   | | 20071001 | 장수인   | | 20071010 | 홍길동   | | 20071022 | 이순신   | | 20071300 | 유하나   | | 20071307 | 김문영   | | 20071405 | 최차영   | 8 rows in set (0.02 sec) 2019-09-05 쉽게 배우는 MySQL 5.x

8.6 반드시 가명을 사용해야 하는 경우 -FROM 절에서 동일한 테이블 이름이 한 번 이상 사용될 때 반드시 가명 사용 8.6 반드시 가명을 사용해야 하는 경우 -FROM 절에서 동일한 테이블 이름이 한 번 이상 사용될 때 반드시 가명 사용 [예제 8-14] 박정인 학생보다 나이가 더 많은 학생의 이름과 생년을 나타내어라. mysql> select s.stu_name, s.birth_year           -> from student s, student st     -> where st.stu_name = '박정인'     -> and  s.birth_year < st.birth_year; +----------+------------+ | stu_name | birth_year | | 김유신   | 1981       | | 박도준   | 1978       | | 이상길   | 1975       | | 연개소문 | 1981       | 4 rows in set (0.00 sec) 박정인의 출생연도(1983년)를 미리 알고 있다면 가명을 사용하지 않아도 됨 2019-09-05 쉽게 배우는 MySQL 5.x