數據庫系統原理 | 查詢作業1

整理自博主本科《數據庫系統原理》專業課自己完成的實驗課查詢作業,以便各位學習數據庫系統概論的小伙伴們參考、學習。

*文中若存在書寫不合理的地方,歡迎各位斧正。

專業課本:

?

————

本次實驗使用到的圖形化工具:Heidisql

?

目錄

第一題、生成EDUC數據庫中的三個表,把問題在MySQL中執行,并查看查詢結果,截圖。

1.在課程表中查詢課?程名以“數據”開頭的課程的課程號,課程名。注意要取別名。

2.在課程表中查詢課程名,學分,學分是2到4之間。用比較運算符,或between and ,或in。分別表達學分的限制條件。

3.查詢課程表中,課程的學分都有哪些。

4.查詢所有沒有確定專業的,年齡小于19歲的,女生的學號,姓名,年齡。并按照年齡降序排列,如果年齡相同,按照學號升序排列。?

5.查詢所有學分大于2的?,沒有先修課的課程的課程號,課程名,并按課程號升序排列

6.查詢課程總個數。

7.計算學號為“200215121”的學生平均成績。

8.查詢被選修的課程的個數。

9.查詢學號為“200215121”的學生所考試的課程中的最高分數。?

第二題、生成spj數據庫中的四個表,進行查詢,給出查詢結果。

1.查詢工程項目所在地名字最后一個字是‘京’字的項目號,項目名,所在城市。注意把列名從英文改為中文。

2.查詢零件重量大于等于10,小于等于20的紅色零件或重量大于30的藍色零件的零件名稱,顏色和重量。列名不改別名。

3.表中零件重量單位是公斤,請給出每種零件的市斤數。輸出的列有零件號,零件名,和市斤數。市斤數是列的別名,其他兩個不用改。

4.查詢零件表中,零件的顏色都有哪些。

5.在spj表中。查詢供應數量是100,200,300,400的那些元組。

6.在spj表中,如果供應數量是null。代表供應商給某項目供應的某零件的數量不確定。查詢有那些供應商給哪些項目供應的哪些零件是不確定數量的。要求給出供應商名,項目名和零件名。

7.查詢重量小于40的零件的零件號,零件名和零件顏色。并按照零件顏色排序降序排列,顏色相同的,按照零件號升序排列。

8.找出最重的三種零件的零件號和零件名。

9.查詢零件共有幾種顏色。

10.如果每種零件取一個,那么所有種類的零件的總重量是多少。

11.查詢紅色零件中最輕的那種零件的重量是多少。

12.查詢藍色零件的平均重量。?


*做題,截圖,把代碼及查詢執行結果的截圖放在相應題目的下方。(沒有安裝成功的,可以只寫代碼)


第一題、生成EDUC數據庫中的三個表,把問題在MySQL中執行,并查看查詢結果,截圖。

EDUC數據庫建庫建表代碼:

create database educ;
use educ;
CREATE TABLE Student
(
Sno CHAR(9) NOT NULL PRIMARY KEY,
Sname CHAR(20),
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);CREATE TABLE Course
(
Cno CHAR(4) NOT NULL PRIMARY KEY,
Cname CHAR(40) NOT NULL,
Cpno CHAR(4),
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno)
);CREATE TABLE SC
(
Sno CHAR(9) NOT NULL,
Cno CHAR(4) NOT NULL,
Grade SMALLINT,
PRIMARY KEY(Sno,Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno),
FOREIGN KEY (Cno) REFERENCES Course(Cno)
);INSERT INTO Student VALUES('200215121','李勇','男',20,'CS');
INSERT INTO Student VALUES('200215122','劉晨','女',19,'CS');
INSERT INTO Student VALUES('200215123','王敏','女',18,'MA');
INSERT INTO Student VALUES('200215125','張立','男',19,'IS');
INSERT INTO Student VALUES('200215124','張立','男',19,'IS');INSERT INTO Course VALUES('2','數學',null,2);
INSERT INTO Course VALUES('6','數據處理',null,2);
INSERT INTO Course VALUES('7','pascal語言','6',4);
INSERT INTO Course VALUES('5','數據結構','7',4);
INSERT INTO Course VALUES('4','操作系統','6',3);
INSERT INTO Course VALUES('1','數據庫','5',4);
INSERT INTO Course VALUES('3','信息系統','1',4);INSERT INTO SC VALUES('200215121','1',92);
INSERT INTO SC VALUES('200215121','2',85);
INSERT INTO SC VALUES('200215121','3',88);
INSERT INTO SC VALUES('200215122','2',90);
INSERT INTO SC VALUES('200215122','3',80);

1.在課程表中查詢課?程名以“數據”開頭的課程的課程號,課程名。注意要取別名。

源碼:

select cno as 課程號,Cname as 課程名
from Course
where Cname like '數據%'

2.在課程表中查詢課程名,學分,學分是24之間。用比較運算符,或between and ,或in。分別表達學分的限制條件。

(不用取別名,后面的題目沒有特別要求都可以不用取別名。?)

比較運算符:

select cname,Ccredit
from Course
where Ccredit>=2 and Ccredit<=4

between and:

select cname,Ccredit
from Course
where Ccredit between 2 and 4

in:

select cname,Ccredit
from Course
where Ccredit IN (2,3,4)

3.查詢課程表中,課程的學分都有哪些。

select distinct Ccredit
from Course

4.查詢所有沒有確定專業的,年齡小于19歲的,女生的學號,姓名,年齡。并按照年齡降序排列,如果年齡相同,按照學號升序排列。?

select sno,sname,sage
from Student
where Ssex = '女' and Sage < 19 and Sdept is null
order by Sage desc,sno asc

5.查詢所有學分大于2的?,沒有先修課的課程的課程號,課程名,并按課程號升序排列

select Cno,cname
from Course
where Ccredit>2 and Cpno is null
order by Cno

6.查詢課程總個數。

select COUNT(*)
from Course

7.計算學號為“200215121”的學生平均成績。

select AVG(grade)
from SC
where Sno = '200215121'

8.查詢被選修的課程的個數。

select COUNT( distinct Cno) as 被選修的課程數
from SC

9.查詢學號為“200215121”的學生所考試的課程中的最高分數。?

select MAX(grade) as 最高分數
from SC
where Sno = '200215122'

第二題、生成spj數據庫中的四個表,進行查詢,給出查詢結果。

spj數據庫建庫建表代碼:

create database spj;
use spj;
CREATE TABLE S
(
SNO CHAR(4) NOT NULL PRIMARY KEY,
SNAME VARCHAR(20),
STATUS SMALLINT,
CITY VARCHAR(20)
);CREATE TABLE P
(
PNO CHAR(4) NOT NULL PRIMARY KEY,
PNAME VARCHAR(20),
COLOR VARCHAR(10),
WEIGHT SMALLINT
);CREATE TABLE J
(
JNO CHAR(4) NOT NULL PRIMARY KEY,
JNAME VARCHAR(20),
CITY VARCHAR(20)
);CREATE TABLE SPJ
(
SNO CHAR(4) NOT NULL,
PNO CHAR(4) NOT NULL,
JNO CHAR(4) NOT NULL,
Qty SMALLINT,
PRIMARY KEY(SNO,PNO,JNO),
FOREIGN KEY (SNO) REFERENCES S(SNO),
FOREIGN KEY (PNO) REFERENCES P(PNO),
FOREIGN KEY (JNO) REFERENCES J(JNO)
);INSERT INTO S VALUES('S1','精益',20,'天津');
INSERT INTO S VALUES('S2','盛錫',10,'北京');
INSERT INTO S VALUES('S3','東方紅',30,'北京');
INSERT INTO S VALUES('S4','豐泰盛',20,'天津');
INSERT INTO S VALUES('S5','豐泰盛',20,'上海');INSERT INTO P VALUES('P1','螺母','紅',12);
INSERT INTO P VALUES('P2','螺栓','綠',17);
INSERT INTO P VALUES('P3','螺絲刀','藍',14);
INSERT INTO P VALUES('P4','螺絲刀','紅',14);
INSERT INTO P VALUES('P5','凸輪','藍',40);
INSERT INTO P VALUES('P6','齒輪','紅',30);INSERT INTO J VALUES('J1','三建','北京');
INSERT INTO J VALUES('J2','一汽','長春');
INSERT INTO J VALUES('J3','彈簧廠','天津');
INSERT INTO J VALUES('J4','造船廠','天津');
INSERT INTO J VALUES('J5','機車廠','唐山');
INSERT INTO J VALUES('J6','無線電廠','常州');
INSERT INTO J VALUES('J7','半導體廠','南京');INSERT INTO SPJ VALUES('S1','P1','J1',200);
INSERT INTO SPJ VALUES('S1','P1','J3',100);
INSERT INTO SPJ VALUES('S1','P1','J4',700);
INSERT INTO SPJ VALUES('S1','P2','J2',100);
INSERT INTO SPJ VALUES('S2','P3','J1',400);
INSERT INTO SPJ VALUES('S2','P3','J2',200);
INSERT INTO SPJ VALUES('S2','P3','J4',500);
INSERT INTO SPJ VALUES('S2','P3','J5',400);
INSERT INTO SPJ VALUES('S2','P5','J1',400);
INSERT INTO SPJ VALUES('S2','P5','J2',100);
INSERT INTO SPJ VALUES('S3','P1','J1',200);
INSERT INTO SPJ VALUES('S3','P3','J1',200);
INSERT INTO SPJ VALUES('S4','P5','J1',100);
INSERT INTO SPJ VALUES('S4','P6','J3',200);
INSERT INTO SPJ VALUES('S4','P6','J4',200);
INSERT INTO SPJ VALUES('S5','P2','J4',100);
INSERT INTO SPJ VALUES('S5','P3','J1',200);
INSERT INTO SPJ VALUES('S5','P6','J2',200);
INSERT INTO SPJ VALUES('S5','P6','J4',500);
INSERT INTO SPJ VALUES('S1','P1','J2',500);

1.查詢工程項目所在地名字最后一個字是‘京’字的項目號,項目名,所在城市。注意把列名從英文改為中文。

select jno 工程項目代碼,jname 工程項目名,city 工程所在城市
from J
where CITY like '%京'

2.查詢零件重量大于等于10,小于等于20的紅色零件或重量大于30的藍色零件的零件名稱,顏色和重量。列名不改別名。

select pname,color,weight
from P
where (WEIGHT between 10 and 20 and COLOR = '紅') or(WEIGHT > 30 and COLOR = '藍')

3.表中零件重量單位是公斤,請給出每種零件的市斤數。輸出的列有零件號,零件名,和市斤數。市斤數是列的別名,其他兩個不用改。

select pno,pname,weight*2 as 市斤數
from P

4.查詢零件表中,零件的顏色都有哪些。

select distinct color
from P

5.spj表中。查詢供應數量是100,200,300,400的那些元組。

select *
from spj
where Qty in (100,200,300,400)

6.spj表中,如果供應數量是null。代表供應商給某項目供應的某零件的數量不確定。查詢有那些供應商給哪些項目供應的哪些零件是不確定數量的。要求給出供應商名,項目名和零件名。

select sname,pname,jname
from s,P,J,spj
where s.SNO =spj.SNO  and P.PNO = spj.PNO and J.JNO = spj.JNO and Qty is null

7.查詢重量小于40的零件的零件號,零件名和零件顏色。并按照零件顏色排序降序排列,顏色相同的,按照零件號升序排列。

select pno,pname,color
from P
where WEIGHT<40
order by color desc,pno

8.找出最重的三種零件的零件號和零件名。

select  pno,pname
from P limit 3
order by WEIGHT desc

9.查詢零件共有幾種顏色。

select count(distinct color)
from P 

10.如果每種零件取一個,那么所有種類的零件的總重量是多少。

select sum(weight)
from P

11.查詢紅色零件中最輕的那種零件的重量是多少。

select  weight,pno,pname
from P
where COLOR = '紅'
order by WEIGHT asc  limit 1-- 如果用下面的代碼,只能查到重量,查不到是哪種零件
select MIN(WEIGHT )
from P
where COLOR = '紅'

12.查詢藍色零件的平均重量。?

select AVG(WEIGHT)
from P 
where COLOR = '藍'

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42007.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42007.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42007.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

云端AI大模型群體智慧后臺架構思考

1 大模型的調研 1.1 主流的大模型 openai-chatgpt 阿里巴巴-通義千問 一個專門響應人類指令的大模型。我是效率助手&#xff0c;也是點子生成機&#xff0c;我服務于人類&#xff0c;致力于讓生活更美好。 百度-文心一言&#xff08;千帆大模型&#xff09; 文心一言"…

MySQL基礎篇(三)數據庫的修改 刪除 備份恢復 查看連接情況

對數據庫的修改主要指的是修改數據庫的字符集&#xff0c;校驗規則。 將test1數據庫字符集改為gbk。 數據庫的刪除&#xff1a; 執行完該數據庫就不存在了&#xff0c;對應數據庫文件夾被刪除&#xff0c;級聯刪除&#xff0c;里面的數據表全部被刪除。 注意&#xff1a;不要隨…

淺識Jmeter與淺談互聯網公司高并發業務壓測流程痛點

淺談Jmeter 什么是Jmeter JMeter 是 Apache 軟件基金會開發的一個開源軟件&#xff0c;用于負載測試和性能測試。它被設計用來模擬多種請求到服務器、網絡或對象&#xff0c;以測試其性能。JMeter 可以用于測試靜態和動態資源&#xff0c;并且可以模擬各種協議的請求&#xf…

NDVI數據集提取植被覆蓋度FVC

植被覆蓋度FVC 植被覆蓋度&#xff08;Foliage Vegetation Cover&#xff0c;FVC&#xff09;是指植被冠層覆蓋地表的面積比例&#xff0c;通常用來描述一個區域內植被的茂密程度或生長狀況。它是生態學、環境科學以及地理信息系統等領域的重要指標&#xff0c;對于理解地表能…

絕區叁--如何在移動設備上本地運行LLM

隨著大型語言模型 (LLM)&#xff08;例如Llama 2和Llama 3&#xff09;不斷突破人工智能的界限&#xff0c;它們正在改變我們與周圍技術的互動方式。這些模型早已集成到我們的手機中&#xff0c;但到目前為止&#xff0c;它們理解和處理請求的能力還非常有限。然而&#xff0c;…

手寫實現一個ORM框架

手寫實現一個ORM框架 什么是ORM框架、ORM框架的作用效果演示框架設計代碼細節SqlBuilderSqlExecutorStatementHandlerParameterHandlerResultSetHandler逆序生成實體類 大家好&#xff0c;本人最近寫了一個ORM框架&#xff0c;想在這里分享給大家&#xff0c;讓大家來學習學習。…

leetcode力扣_排序問題

215.數組中的第K個最大元素 鑒于已經將之前學的排序算法忘得差不多了&#xff0c;只會一個冒泡排序法了&#xff0c;就寫了一個冒牌排序法&#xff0c;將給的數組按照降序排列&#xff0c;然后取nums[k-1]就是題目要求的&#xff0c;但是提交之后對于有的示例顯示”超出時間限制…

JavaWeb開發之環境準備-大合集

本文博客地址 JavaWeb開發 || 環境準備 1. 前言2. JDK8安裝2.1 下載地址2.2 安裝配置圖示2.2.1 JDK安裝2.2.2 配置系統環境變量 3. Maven安裝3.1 Maven下載3.2 Maven解壓及系統變量配置 4. Tomcat安裝4.1 Tomcat下載4.2 Tomcat解壓及系統變量配置 5. Redis安裝5.1 Redis下載5.…

記錄一次麒麟V10 安裝sysbench各種報錯(關于MySQL)處理過程

sysbench手工下載&#xff1a; https://github.com/akopytov/sysbench 下載.zip文件&#xff0c;上傳到服務器上 解壓、安裝&#xff1a; unzip sysbench-master.zipcd sysbench-master/sh autogen.sh./configure 報錯&#xff1a;沒有mysql驅動 configure: error: mysql_c…

Marin說PCB之CAM350的軟件使用知多少?

今天上海的氣溫那叫一個高啊&#xff0c;溫度都達到了39左右了都&#xff0c;我都嚴重懷疑我不是在魔都上班而是在火焰山板磚去了。這么燥熱的天氣真的是嚴重影響了小編我的工作效率&#xff0c;沒有心情工作啊&#xff0c;要去泳池避避暑&#xff0c;沖個涼也行啊。這種天氣只…

WebKit 的結構、工作流程、技術細節和高級特性

WebKit 是一個開源的瀏覽器引擎&#xff0c;主要負責解析和渲染網頁&#xff0c;執行 JavaScript 代碼以及處理用戶交互。它最初由蘋果公司開發&#xff0c;用于 Safari 瀏覽器&#xff0c;但后來 Google 和其他公司也基于 WebKit 開發了自己的瀏覽器&#xff0c;如早期版本的 …

SQL Server時間轉換

第一種&#xff1a;format --轉化成年月日 select format( GETDATE(),yyyy-MM-dd) --轉化年月日&#xff0c;時分秒&#xff0c;這里的HH指24小時的&#xff0c;hh是12小時的 select format( GETDATE(),yyyy-MM-dd HH:mm:ss) --轉化成時分秒的&#xff0c;這里就不一樣的&…

力扣5----最長回文子串

給你一個字符串 s&#xff0c;找到 s 中最長的回文子串 示例 1&#xff1a; 輸入&#xff1a;s "babad" 輸出&#xff1a;"bab" 解釋&#xff1a;"aba" 同樣是符合題意的答案。示例 2&#xff1a; 輸入&#xff1a;s "cbbd" 輸出…

Feign-未完成

Feign Java中如何實現接口調用&#xff1f;即如何發起http請求 前三種方式比較麻煩&#xff0c;在發起請求前&#xff0c;需要將Java對象進行序列化轉為json格式的數據&#xff0c;才能發送&#xff0c;然后進行響應時&#xff0c;還需要把json數據進行反序列化成java對象。 …

G2.【C語言】EasyX繪制顏色窗口

1.窗口 窗口&#xff1a;寬度*高度&#xff08;單位都是像素&#xff09; #include <stdio.h> #include <easyx.h> int main() {initgraph(640, 480);getchar();return 0; } 640是寬&#xff0c;480是高 2.操作窗口的三個按鈕 #include <stdio.h> #incl…

go語言day10 接口interface 類型斷言 type關鍵字

接口&#xff1a; 空接口類型&#xff1a; 要實現一個接口&#xff0c;就要實現該接口中的所有方法。因為空接口中沒有方法&#xff0c;所以自然所有類型都實現了空接口。那么就可以使用空接口類型變量去接受所有類型對象。 類比java&#xff0c;有點像Object類型的概念&#x…

免費去馬賽克軟件,親測支持視頻和圖片,這AI功能逆天了!

有小伙伴私信問阿星有什么去除馬賽克的免費軟件&#xff0c;求推薦好用的去馬賽克軟件。 市面上去馬賽克的軟件多如牛毛&#xff0c;但真正好用的真不多&#xff0c;而免費的是更少。今天阿星就分享一款 AI智能去馬賽克軟件&#xff0c;免費使用。軟件支持去除圖片和視頻的馬賽…

51單片機STC89C52RC——15.1 AD/DA(模數數模)

目的/效果 1 LCD1602 顯示 可調電阻、光敏電阻、熱敏電阻值&#xff08;AD&#xff09; 2 模擬信號控制LED明暗&#xff08;DA&#xff09; 一&#xff0c;STC單片機模塊 二&#xff0c;AD/DA 2.1 AD/DA 介紹 AD&#xff08;Analog to Digital&#xff09;&#xff1a;模擬…

第1章 項目背景(學成在線),項目介紹,環境搭建

1.項目背景 1.1 在線教育市場環境 以下內容摘自https://report.iresearch.cn/content/2021/01/358854.shtml 在線教育行業是一個有著極強的廣度和深度的行業&#xff0c;從校內到校外&#xff1b;從早幼教到職業培訓&#xff1b;從教育工具到全信息化平臺等等。 2020年的新…

用Excel處理數據圖像,出現交叉怎么辦?

一、問題描述 用excel制作X-Y散點圖&#xff0c;意外的出現了4個交叉點&#xff0c;而實際上的圖表數據是沒有交叉的。 二、模擬圖表 模擬部分數據&#xff0c;并創建X-Y散點圖&#xff0c;數據區域&#xff0c;X軸數據是依次增加的&#xff0c;因此散點圖應該是沒有交叉的。…