1. 程式人生 > >MySQL查詢語句的45道練習

MySQL查詢語句的45道練習

一、設有一資料庫,包括四個表:學生表(Student)、課程表(Course)、成績表(Score)以及教師資訊表(Teacher)。四個表的結構分別如表1-1的表(一)~表(四)所示,資料如表1-2的表(一)~表(四)所示。用SQL語句建立四個表並完成相關題目。

                 表1-1資料庫的表結構

表(一)Student (學生表) 

屬性名

資料型別

可否為空

含 義

Sno

varchar (20)

學號(主碼)

Sname

varchar (20)

學生姓名

Ssex

varchar (20)

學生性別

Sbirthday

datetime

學生出生年月

Class

varchar (20)

學生所在班級

表(二)Course(課程表)

屬性名

資料型別

可否為空

含 義

Cno

varchar (20)

課程號(主碼)

Cname

varchar (20)

課程名稱

Tno

varchar (20)

教工編號(外碼)

表(三)Score(成績表)

屬性名

資料型別

可否為空

含 義

Sno

varchar (20)

學號(外碼)

Cno

varchar (20)

課程號(外碼)

Degree

Decimal(4,1)

成績

主碼:Sno+ Cno

表(四)Teacher(教師表)

屬性名

資料型別

可否為空

含 義

Tno

varchar (20)

教工編號(主碼)

Tname

varchar (20)

教工姓名

Tsex

varchar (20)

教工性別

Tbirthday

datetime

教工出生年月

Prof

varchar (20)

職稱

Depart

varchar (20)

教工所在部門

表1-2資料庫中的資料

表(一)Student

Sno

Sname

Ssex

Sbirthday

class

108

曾華

1977-09-01

95033

105

匡明

1975-10-02

95031

107

王麗

1976-01-23

95033

101

李軍

1976-02-20

95033

109

王芳

1975-02-10

95031

103

陸君

1974-06-03

95031

表(二)Course

Cno

Cname

Tno

3-105

計算機導論

825

3-245

作業系統

804

6-166

數位電路

856

9-888

高等數學

831

表(三)Score

Sno

Cno

Degree

103

3-245

86

105

3-245

75

109

3-245

68

103

3-105

92

105

3-105

88

109

3-105

76

101

3-105

64

107

3-105

91

108

3-105

78

101

6-166

85

107

6-166

79

108

6-166

81

表(四)Teacher

Tno

Tname

Tsex

Tbirthday

Prof

Depart

804

李誠

1958-12-02

副教授

計算機系

856

張旭

1969-03-12

講師

電子工程系

825

王萍

1972-05-05

助教

計算機系

831

劉冰

1977-08-14

助教

電子工程系

複製程式碼複製程式碼
#建學生資訊表student
create table student
(
sno varchar(20) not null primary key,
sname varchar(20) not null,
ssex varchar(20) not null,
sbirthday datetime,
class varchar(20)

);
#建立教師表
create table teacher
(
tno varchar(20) not null primary key,
tname varchar(20) not null,
tsex varchar(20) not null,
tbirthday datetime,
prof varchar(20),
depart varchar(20) not null

);
#建立課程表course
create table course
(
cno varchar(20) not null primary key,
cname varchar(20) not null,
tno varchar(20) not null,
foreign key(tno) references teacher(tno)

);
#建立成績表
create table score
(
sno varchar(20) not null primary key,
foreign key(sno) references student(sno),
cno varchar(20) not null,
foreign key(cno) references course(cno),
degree decimal

);

#新增學生資訊
insert into student values('108','曾華','男','1977-09-01','95033');
insert into student values('105','匡明','男','1975-10-02','95031');
insert into student values('107','王麗','女','1976-01-23','95033');
insert into student values('101','李軍','男','1976-02-20','95033');
insert into student values('109','王芳','女','1975-02-10','95031');
insert into student values('103','陸君','男','1974-06-03','95031');




#新增教師表
insert into teacher values('804','李誠','男','1958-12-02','副教授','計算機系');
insert into teacher values('856','張旭','男','1969-03-12','講師','電子工程系');
insert into teacher values('825','王萍','女','1972-05-05','助教','計算機系');
insert into teacher values('831','劉冰','女','1977-08-14','助教','電子工程系');

#新增課程表
insert into course values('3-105','計算機導論','825');
insert into course values('3-245','作業系統','804');
insert into course values('6-166','數位電路','856');
insert into course values('9-888','高等數學','831');
#新增成績表

insert into score values('103','3-245','86');
insert into score values('105','3-245','75');
insert into score values('109','3-245','68');
insert into score values('103','3-105','92');
insert into score values('105','3-105','88');
insert into score values('109','3-105','76');
insert into score values('103','3-105','64');
insert into score values('105','3-105','91');
insert into score values('109','3-105','78');
insert into score values('103','6-166','85');
insert into score values('105','6-166','79');
insert into score values('109','6-166','81');

1、 查詢Student表中的所有記錄的Sname、Ssex和Class列。

1select Sname,Ssex,Class from student

2、 查詢教師所有的單位即不重複的Depart列。

1select distinct Depart from teacher

3、 查詢Student表的所有記錄。

1select *  from student

4、 查詢Score表中成績在60到80之間的所有記錄。

1select *  from Score 

相關推薦

MySQL查詢語句45練習

一、設有一資料庫,包括四個表:學生表(Student)、課程表(Course)、成績表(Score)以及教師資訊表(Teacher)。四個表的結構分別如表1-1的表(一)~表(四)所示,資料如表1-2的表(一)~表(四)所示。用SQL語句建立四個表並完成相關題目。                 表1-1資料

MySQL查詢語句的50經典練習

這50道查詢練習確實很經典,題是我在網上找的,做完後你的SQL編寫能力肯定有一個提升。發現問題的歡迎提出,有更好方法的,可以提出來大家共同學習。 ---------建立資料庫、表、插入資料---------------------- -- 建表 -- 學生表 CREATE

MySQL 查詢語句練習1

所有 -s 音響 round row clas 分類 lin nes 1、創建成績表,字段包括:學生姓名,語文成績,數學成績,英語成績 向表中插入多條數據; 查詢:   (1) 查詢所有學生的數學成績和總成績   (2) 查詢所有學生的語文和數學成績和,按從

MySQL 查詢語句select講解與練習

mysql 查詢語句select講解與練習select語句執行流程:START————>FROM------>WHERE(選擇,合適的行)--------->GROUP BY(分組)---------->HAVING(對分組進行過濾)————>ORDER BY(排序)————&g

mysql:10mysql查詢語句面試題

表結構 學生表student(id,name) 課程表course(id,name) 學生課程表student_course(sid,cid,score) 建立表的sql程式碼 ```sql create table student( id int unsigned primar

MySQL查詢語句練習題45題版

整理了一些網上的練習題。 設有一資料庫,包括四個表:學生表(Student)、課程表(Course)、成績表(Score)以及教師資訊表(Teacher)。表結構及資料如下,請完成題目。 表(一)Student (學生表) : 屬性名 資料型

mysql查詢語句分析 explain用法

表示 join 行數 請求 獨立 mysql 問題 完整 tab http://www.cnitblog.com/aliyiyi08/archive/2008/09/09/48878.html Mysql Explain 詳解一.語法explain < table_

[Mysql 查詢語句]——分組查詢group by

dash sel concat avg 年齡 http 查詢語句 表示 單獨 #group by #group by + group_concat() #group by + 集合函數 #group by + having #group by (1) group by

MySQL查詢語句練習題

red pre 名稱 distinct 資料 not null cnblogs com group /*1. 查詢出部門編號為30的所有員工*/ /* 分析: 1). 列:沒有說明要查詢的列,所以查詢所有列 2). 表:只一張表,emp 3). 條件:部門編號為30,即d

MySQL 查詢語句中自己定義的中文內容在Java Web 中顯示為問號

variable select 關閉 程序 自己 bsp from sel 技術   Java Web 端做查詢時,性別字段存的是數字,1代表男,2代表女,取數據時將性別轉為漢字顯示在頁面,sql語句如下,結果發生了問題 select a.emp_id,a.emp_n

用concat批量生成MySQL查詢語句

and mem local from rsh prop sql select lec select concat(‘grant all on ‘, table_schema,".",table_name," to ‘ gxsnerp‘@‘localhost ‘;") fr

mysql查詢語句 和 多表關聯查詢 以及 子查詢

另一個 多表 uri 多條件 排序 image 毫無 表連接 exist 原文地址: http://blog.csdn.net/github_37767025/article/details/67636061 1.查詢一張表: select * from 表名;

MySQL查詢語句中的IN 和Exists 對比分析

In exists nested loop sql優化 查詢效率 背景介紹 最近在寫SQL語句時,對選擇IN 還是Exists 猶豫不決,於是把兩種方法的SQL都寫出來對比一下執行效率,發現IN的查詢效率比Exists高了很多,於是想當然的認為IN的效率比Exists好,但本著尋根究底的原

mysql 查詢語句整理

某個字段 4.4 分組 更改 my sql 運算 1.3 宋體 mage 單表查詢 MySQL從數據表中查詢數據最基本的語句是SELECT語句,在前面的“增刪查”已經使用過:SELECT * FROM 表名,也就是查詢指定數據表中的所有數據。下面將對SELECT語句進行詳

MySQL 查詢語句SELECT和數據條件過濾

之間 HERE where ike 開始 from 數據 com con MySQL 查詢語句SELECT ,主要是用 * 表示任意字段,也可以寫id,name,content 等,數據條件過濾主要是between,and,or ,WHERE,in,like,limit,n

mysql 查詢語句可以使用的函數總結

cat 字節 數據 concat 測試 min max sql函數 轉換 mysql 查詢語句有時候需要用到函數,但是函數比子查詢的效率要高,有時候函數還是很方便的,下面簡單總結sql函數具體用法。 1,對數字處理函數avg()count()max()min()sum()2

MYSQL查詢語句 group by 與having count()講解--玉米都督

    在介紹GROUP BY 和 HAVING 子句前,我們必需先講講sql語言中一種特殊的函式:聚合函式,  例如SUM, COUNT, MAX, AVG等。這些函式和其它函式的根本區別就是它們一般作用在多條記錄上。  SELECT S

MySQL查詢語句(重點分類)

MySQL的查詢是一個重點,主要查詢操作包括以下內容(單表查詢重點) 查詢所有列 查詢指定列 查詢時新增常量列 查詢時合併 查詢時去除重複記錄 條件查詢 聚合查詢 分頁查詢 查詢排序 分組查詢 分組查詢後諮詢

mysql查詢語句and,or

where查詢裡,常用到and,or and SELECT field1, field2,...fieldN FROM table_name1, table_name2... WHERE condition1 AND condition2..... or SELECT field1

mysql查詢語句例題

tar sta con end 描述 如果 tps 語句 lec 1、一條SQL語句查詢兩表中兩個字段 首先描述問題,student表中有字段startID,endID。garde表中的ID需要對應student表中的startID或者student表中的endID才能查出