집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 고급 쿼리 이해 및 사용 예
1.워드 부분
①제약 조건 ②외부 키 ③참조 참조
④서브 쿼리 서브 쿼리⑤내부 내부 ⑥조인 연결
2. 미리 보기 부분
1. 테이블 이름을 수정하는 SQL 문의 키워드는 무엇인가요?
RENAME 필드 수정
2. 지정된 행 수만큼 쿼리 결과를 반환할 수 있는 키워드
LIMIT
3. 테이블 연결을 하위 쿼리로 대체할 수 있나요
예
3. 데이터를 생성합니다. table , 테이블에 대한 수정 작업 구현
#On-computer 1
USE test;CREATE TABLE person(
number INT(4) AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(50) NOT NULL,
sex CHAR( 2) ,
BRONDATE DATETIME
);
alTer Table Person RENAME TB_PERSON;
Alter Table TB_Person Drop `; Ble tb_person 변경 번호 id bigint;
#의 결과 테이블에 제약 조건을 추가합니다. 컴퓨터에서 2
USE myschool;
ALTER TABLE result ADD CONSTRAINT re PRIMARY KEY result(`studentNo`,`subjectNo`,`exameDate`);
#에 데이터를 추가합니다. 3
USE myschool;
INSERT INTO `subject` (`subjectName`, `classHour`, `gradeID`) VALUES
('Java OOP', '230', '2');
4 학생 테이블 및 과목 차트 데이터 수정
#컴퓨터에서 4
사용 myschool;
INSERT INTO `myschool`.`result` (`studentNo`, `subjectNo`, `exameDate`, `studentResult`) VALUES ('1002', '1', '2014-8-8', '78' ),
('1004', '1', '2015-8-8', '78') ,
( '1005', '2', '2013-8-8', '78'),('1006', '1', '2017-8-8', '66'),
(' 1007', '1', '2014-8-8', '55'),
('1008', '1', '2014-8-8', '13'),
('1009', '1', '2014-8-8', '89');
UPDATE 학생 SET eamil='stu200000@163.com',loginPwd='000' WHERE StudentNo='20000';
UPDATE `subject` SET `classHour`=` classHour`-10 WHERE `classHour`>200 AND `subjectNo`=1;
DROP TABLE IF EXISTS Student_grade1;
CREATE TABLE Student_grade1(SELECT `studentName`,`sex`,`bornDate`,`phone` FROM Student WHERE` gradeID`=1);
5. 학생 정보 조회(2016년 2월 17일 상위 5명의 학생 번호 및 점수 조회)
#컴퓨터에서 5
SELECT `studentNo`, `studentResult` FROM `result ` WHERE `exameDate`<'2016-2-17' ORDER BY StudentResult DESC LIMIT 5;
WHERE sex ='女'
ORDER BY BornDate ASCLIMIT 1,6;
SELECT MAX (`studentResult`),MIN(`studentResult`),AVG(`studentResult`) FROM `result` WHERE `exameDate`='2016-02-17' GROUP BY `studentNo`;
6. 시험 결과
#컴퓨터에서 6
SELECT MAX(`studentResult`),MIN(`studentResult`) FROM 결과WHERE `exameDate`=(SELECT `exameDate` FROM `result` ORDER BY ExameDate DESC LIMIT 1) AND
`subjectNo`=(`subjectNo` FROM `subject` WHERE `subjectName`='Logic Java');#결과에서 max(exameDate)를 선택
7. 특정 학기에 제공되는 강좌를 쿼리
# 컴퓨터로 이동 7
SELECT subjectName FROM `subject`
WHERE subjectNo IN(SELECT subjectNo FROM `subject`
# 컴퓨터에서 8
SELECT `studentName` FROM 학생 WHERE `studentNo` IN(SELECT `studentNo` FROM 학생 WHERE StudentNo NOT IN(SELECT `studentNo` FROM `result`
WHERE `subjectNo`=(SELECT `subjectNo` FROM `subject` WHERE `subjectName`='HTML') AND
ORDER BY ExameDate DESC LIMIT 1)));
V. 요약 부분
다중 테이블 공동 쿼리를 구현하는 두 가지 방법:
①테이블 연결
②하위 쿼리
위 내용은 MySQL 고급 쿼리 이해 및 사용 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!