六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

MySQL高級查詢之理解與使用案例

[摘要]一.單詞部分①constraint約束②foreign外鍵③references參考④subquery子查詢⑤inner內部的⑥join連接二.預習部分1.修改表SQL語句的關鍵字是什么RENAME 修改表名CHANGE修改字段2.哪個關鍵字可以按指定行數返回查詢結果集LIMIT3.表連接都可以用...
一.單詞部分

①constraint約束②foreign外鍵③references參考

④subquery子查詢⑤inner內部的⑥join連接

二.預習部分

1.修改表SQL語句的關鍵字是什么

RENAME 修改表名CHANGE修改字段

2.哪個關鍵字可以按指定行數返回查詢結果集

LIMIT

3.表連接都可以用子查詢替換嗎

可以

三.練習部分

1. 創建數據表,并實現對表的修改操作

#上機1
USE test;
CREATE TABLE person(
number INT(4) AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(50) NOT NULL,
sex CHAR(2),
bornDate DATETIME
);
ALTER TABLE person RENAME tb_person;
ALTER TABLE tb_person DROP `bornDate`;
ALTER TABLE tb_person ADD bornDate DATETIME;
ALTER TABLE tb_person CHANGE number id BIGINT;

2.使用SQL語句為myschool數據庫中的result表添加約束

#上機2
USE myschool;
ALTER TABLE result ADD CONSTRAINT re PRIMARY KEY result(`studentNo`,`subjectNo`,`exameDate`);
ALTER TABLE result ADD CONSTRAINT fk_result_student FOREIGN KEY (studentNo) REFERENCES student (studentNo);

3.為學生表,科目表,成績表添加數據

#上機3
USE myschool;
INSERT INTO `subject` (`subjectName`, `classHour`, `gradeID`) VALUES
('HTML', '160', '1'),
('Java OOP', '230', '2');

4.修改學生表,科目表數據

#上機4
USE myschool;
INSERT INTO `myschool`.`result` (`studentNo`, `subjectNo`, `exameDate`, `studentResult`) VALUES ('1002', '1', '2014-8-8', '78'),
('1003', '2', '2017-7-7', '98'),
('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 student 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
SELECT `studentNo`,`studentResult` FROM `result` WHERE `exameDate`<'2016-2-17' ORDER BY studentResult DESC LIMIT 5;

SELECT studentName,(YEAR(NOW())-YEAR(bornDate)) AS age,bornDate,phone FROM student
WHERE sex='女'
ORDER BY bornDate ASC
LIMIT 1,6;

SELECT YEAR(bornDate) AS nian,COUNT(studentNo) AS num FROM student GROUP BY bornDate HAVING COUNT(studentNo)>=2;

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 result
WHERE `exameDate`=(SELECT `exameDate` FROM `result` ORDER BY exameDate DESC LIMIT 1) AND
`subjectNo`=(SELECT `subjectNo` FROM `subject` WHERE `subjectName`='Logic Java');
#select max(exameDate) from result

7.查詢某學期開設的課程

#上機7
SELECT subjectName FROM `subject`
WHERE subjectNo IN(SELECT subjectNo FROM `subject`
WHERE gradeId=(SELECT gradeId FROM grade WHERE gradeName='S1'));

8.查詢某課程最近一次考試缺考的學生名單

#上機8
SELECT `studentName` FROM student WHERE `studentNo` IN(SELECT `studentNo` FROM student WHERE studentNo NOT IN(SELECT `studentNo` FROM `result`
WHERE `subjectNo`=(SELECT `subjectNo` FROM `subject` WHERE `subjectName`='HTML') AND
`exameDate`=(SELECT `exameDate` FROM `result` WHERE subjectNo=(SELECT `subjectNo` FROM `subject` WHERE `subjectName`='HTML')
ORDER BY exameDate DESC LIMIT 1)));

五.總結部分

多表聯查實現的兩種方式:

①表連接

②子查詢

以上就是MySQL高級查詢之理解與使用實例的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 天天操天天摸天天曰天天干天天弄天天干 | 天天操天天射天天爽 | 一二三四在线观看免费高清网 | 在线国产日韩 | 最近的2019中文字幕免费一页 | 天天做天天爱天天影视综合 | 三级免费黄色片 | 日本免费乱理伦片在线观看2018 | 涩狠狠狠狠色 | 中文字幕日韩精品亚洲七区 | 色婷婷综合激情 | 天天干天天插天天操 | 午夜精品久久久久久久99热下载 | 色噜| 日本亚洲中午字幕乱码 | 中文一区在线观看 | 四虎影视在线 | 在线观看男女爱视频网站 | 青草五月天| 最新版天堂中文在线官网 | 日韩国产成人资源精品视频 | 亚洲国产图片 | 欧美亚洲第一页 | 色综合h| 日日干夜夜草 | 速度与激情9完整版免费观看 | 日韩国产欧美 | 色小说亚洲 | 在线看国产人成www免费看下载 | 欧美性大战久久久久久 | 欧美一级特黄aaaaaaa在线观看 | 亚洲欧美日韩在线观看二区 | 日本另类αv欧美另类aⅴ | 欧美在线91 | 日本一本高清 | 天堂网日本 | 日韩va亚洲va欧美va浪潮 | 亚洲色欲色欲www在线观看 | 欧美午夜视频在线观看 | 天天色天天舔 | 欧美影院在线观看在线观看看 |