~~~
insert into dept values(1,'Education'),(2,'Computer Science'),(3,'Mathematics');
insert into students values(1,'Andrew',0,1),(2,'Andy',0,1),(3,'Bob',0,1),(4,'Ruth',1,2),(5,'Mike',0,2),(6,'John',0,3),(7,'Cindy',1,3),(8,'Susan',1,3);
insert into course values(1,'math',3),(2,'english',2),(3,'chinese',4),(4,'history',1),(5,'biology',5);
insert into teacher values(1,'Zhang san',1),(2,'Li si',1),(3,'Wang wu',2),(4,'Liu liu',3),(5,'Ding qi',3);
insert into score values(1,1,76),(1,2,90),(1,3,82),(1,5,56),(2,2,78),(2,4,92),(2,3,77),(2,5,65),(3,1,48),(3,2,95),(3,3,75),(3,4,89),(3,5,92),(4,3,78),(4,4,67),(5,1,75),(5,3,90),(5,4,82),(6,2,58),(6,4,88),(7,1,55),(7,2,65),(7,3,63),(7,4,68),(7,5,70),(8,4,88),(8,5,100);
~~~
4.查看所有英語成績超過數學成績的學生的學號和姓名
5.查看平均成績大于等于60的所有學生的姓名和平均成績
6.查詢所有同學的學號,姓名,選課數和總成績
7.查詢姓zhang的老師的個數
8.查詢沒學過zhang san老師課程的學生的學號和姓名
~~~
4、select aa.sid,aa.sname,aa.score as math,bb.score as english from
(select a1.sid,a1.sname,score from students a1 inner join score b1 on a1.sid=b1.sid where course_id=(select id from course where course_name='math')) aa
inner join
(select a1.sid,a1.sname,score from students a1 inner join score b1 on a1.sid=b1.sid where course_id=(select id from course where course_name='english')) bb
on aa.sid=bb.sid where aa.score < bb.score;
5、select a.sid,a.sname,avg(b.score) from students a inner join score b on a.sid=b.sid group by a.sid,a.sname having avg(b.score)>==60;
6、select a.sid,a.sname ,count(b.course_id),sum(b.score) from students a inner join score b on a.sid=b.sid group by a.sid,a.sname;
7、select count(*) from teacher where name like 'zhang%';
8、Select sid,sname from students where Sid not in (Select b.sid From course a inner Join score b on a.id=b.course_id Inner join teacher c on a.teacher_id=c.id Where c.name='Zhang san');
~~~
9.查詢既學過英語也學過語文的學生的學號和姓名
11.查詢有學生的單科成績小于60的姓名和課程名稱
~~~
9、Select a.sid,sname,count(*) from students a inner join score b on a.sid=b.sid Inner join course c on b.course_id=c.id Where c.name in ('english', 'chinese') Group by Sid,sname Having count(*)>=2;
11、Select a.sname,c.course_name From students a inner join score b on a.sid=b.sid Inner join course c on b.course_id=c.id Where b.score<60;
~~~
13.按平均成績從高到低顯示所有學生的姓名和語文,數學,英語三科成績
14.查詢各科成績中的最高分和最低分
15.計算各科平均成績和及格率百分比
16.查詢不同老師所教不同課程平均分從高到低
~~~
13、Select a.sid,avg(score) score_avg,sum(case when b.course_name='chinese' then a.score else 0 end) a1,sum(case when b.course_name='math' then a.score else 0 end) a2,sum(case when b.course_name='English' then a.score else 0 end) a3 From score a inner join course b on a.course_id=b.id Group by a.sid order by score_avg desc;
14、Select course_id,min(score),max(score) from score group by course_id;
15、Select course_id,avg(score),sum(case when score>=60 then 1 else 0 end)/count(*)*100 From score Group by course_id
16、Select c.name,b.name,avg(score) From score a inner join course b on a.course_id=b.id Inner join teacher c on b.teacher_id=c.id Group by c.name,b.name Order by avg(score) desc
~~~
17.查詢英語課程成績排名第5到第10位的學生姓名和成績
18.統計按照各科成績,分段統計每個課程在90分以上、80-90的、60~80、低于60分的人數
19.查看每門課程被選修的學生數
20.查看只學習了一門課程的學生的姓名和學號
~~~
17、Select c.sname,a.score From score a inner join course b on a.course_id=b.id Inner join students c on a.sid=c.sid Where b.name='English' Order by a.score Limit 4,6;
18、Select b.name,sum(case when score>=90 then 1 else 0 end),sum(case when score<90 and score>=80 then 1 else 0 end),sum(case when score<80 and score>=60 then 1 else 0 end),sum(case when score<60 then 1 else 0 end) From score a inner join course b on a.course_id=b.id Group by b.name;
19、Select course_id,count(*) From score Group by course_id;
20、Select a.sid,b.sname from (Select sid,count(*) count1 from score group by Sid having count(*)=1) a Inner join students b on a.sid=b.sid;
~~~
21.查詢名字相同的學生名單和個數
22.查詢85年之后出生的學生人數
23.查詢每門課程的平均成績,按升序排序,如果平均成績相同按課程ID降序排序
24.查詢有不及格學生的課程和不及格學生個數
21 Select sname,count(*) from students group by sname having count(*)>=2;
22 Select * from students where birthday>='1985-01-01';
23 Select course_id,avg(score) from score Group by course_id Order by avg(score),course_id desc;
24 Select course_id,count(*) From score Where score<60 Group by course_id;
25.將所有學生姓名中前后的空格去掉
26.將所有學生的考試成績展示為課程名:成績樣式
27.將所有老師的名字拆分成姓和名兩個字段顯示
28.把所有學生的生日格式轉換成年月日的格式,并計算每個學生年齡
~~~
25 Update students set sname=ltrim(rtrim(sname));
26 Select a.sid,concat(b.name,':',a.score)From score a inner join course b on a.course_id=b.id;
27 Select name, substring(name,1,locate(' ',name)-1),substring(name,locate(' ',name)+1,50)from teacher;
28 Select name,birthday,date_format(birthday, '%Y%m%d'),year(now())-year(birthday),floor(datediff(now,birthday)/365)From students;
~~~
- 一、日常運維腳本
- 1.1 批量創建用戶并賦予sudo權限
- 1.2 批量主機建立互信
- 1.3create_images.sh
- 1.4monitor.sh
- 1.5ftp腳本
- 1.6格式化分區
- 1.7簡單的遠程執行腳本
- 二、常用服務使用
- 1 ceph (分布式文件系統)
- 1.1 ceph 簡介
- 1.2 準備環境
- 1.3 開始部署
- 1.4 cephfs掛載
- 1.5 RBD塊存儲
- 1.6 object 對象存儲
- 1.7 集群擴展
- 1.7.1 增加刪除MON
- 1.7.2 增加刪除OSD
- 1.7.3 刪除MDS
- 注意事項
- 遇到的問題
- 1.8ceph查找數據文件
- 1.9卸載并清理環境
- 2、mysql (數據庫)
- 2.1 搭建
- 2.2 使用教程
- 2.2.1 mysql基礎配置
- 2.2.1.1 用戶權限管理
- 2.2.1.2用戶資源限制
- 2.2.1.3 密碼管理
- 2.2.1.4用戶lock
- 2.2.2mysql語法詳解
- 2.2.1建庫、表語句
- 2.2.2.2 插入 insert
- 2.2.2.3更新 update
- 2.2.2.4刪除 delete
- 2.2.2.5查詢 select
- 2.2.6視圖 索引 view index
- 2.2.7 修改 alert
- 2.2.2.8清理 truncate drop
- 2.2.9重命名 rename
- 示例語句
- 2.2.3mysql常用函數
- 2.3.1 對比操作符統概
- 2.3.2對比操作符詳解
- 2.3.3邏輯操作符
- 2.2.4分配操作符
- 2.2.5流程控制函數
- 2.2.6字符串函數
- 2.2.7字符串對比函數
- 2.2.8數字函數
- 2.2.9日期和時間函數
- 2.2.10聚合/格式轉換函數
- 2.2.11 子查詢
- 示例語句
- 2.2.4 mysql 高級應用
- 2.2.4.1 存儲過程 函數
- 2.2.4.2流程控制
- 2.2.4.3游標
- 2.2.4.4觸發器
- 課堂練習
- 2.2.2.5 數據庫設計
- 2.2.5.1 數據類型
- 2.2.5.2存儲引擎
- 2.2.6Innodb內核
- 1、innodb事務和多版本控制
- 2、體系結構
- 3、InnoDB配置
- 4、buffer pool設置
- 5、其他配置
- innodb限制
- 2.7 字符集
- 2.8鎖機制和事務
- 2.8.1鎖機制
- 2.8.2事務
- 2.9分區
- 2.9.1 自動分區
- 2.10復制
- 2.11mysql搬移數據目錄
- 2.12組復制 GR
- 簡介
- 搭建
- 2.3日常運維
- 2.3.1定時任務
- 2.4mycat
- 2.4.1 報錯分析
- 2.4.2 修改字符集
- 2.11 mycat使用
- 2.5遇到問題
- 2.5.1 表名庫名忽略大小寫
- 3、PAAS平臺搭建
- 問題匯總
- 1、docker
- 2、日常運維
- 3.1 Kubernetes
- 3.1 kubernetes 高版本搭建
- 4、GlusterFS搭建
- 5、MooseFS搭建
- 5.1搭建
- 5.2運維
- 5.2.1 mfs日志解析
- 5.2.2清理mfs的垃圾數據
- 5.2.3元數據故障恢復
- 5.2.4 MFS優化
- 5.2.5 配置機架感知
- 5.2.6 客戶端工具集
- 6、集群切換命令
- 7、ntp服務
- 8、monggoDB
- 8.1搭建單機
- 2、搭建集群及分片
- 9、MariaDB Galera Cluster
- 9.1源碼安裝MariaDB
- 9.2galera cluster 優劣
- 9.3 rpm安裝mariadb
- 10 HAproxy1.7搭建
- 11、sysbench 搭建使用
- 0.5版本
- 12 percona-xtradb-cluster
- 13http服務相關
- 13.1 http狀態碼解析
- 14 zookeeper
- 14.1 zookeeper日志查看
- 14.2 配置解析
- 14.3 優化
- 15搭建私有pip源
- 16/var/log的日志文件解釋
- 15 ansible的搭建及使用
- 15.1 搭建
- 15.2 使用說明
- 16. 搭建本地yum源
- zookeeper
- 優化
- 四、開發語言
- 1、GO語言
- 1.1go簡介
- 1.1.1hello_world初識GO
- 1.1.2并發介紹
- 1.1.3 chan介紹
- 1.1.4多返回值
- 1.2go基礎
- 1.2.1數據類型
- 1.2.2 go基礎結構
- 1.2.3 const及變量介紹
- 1.2.3os和time介紹
- 1.2.4 字符串
- 1.2.5條件判斷
- 1.2.6 homework
- go--help
- 1.3 go基礎2
- 1.3.1 數組 array
- 1.3.2切片 slice
- 1.3.3 時間和日期
- 1.3.4指針類型
- 1.3.5函數
- 1.3.6可變參數
- 1.3.7 defer
- 1.3.8遞歸
- 1.9閉包
- 1.10 map
- 1.11 sort
- 1.12 struct 結構體
- 2.perl語言
- 2.1 安裝lib包
- 3 python
- 1.語言基礎
- 2、編程教學
- 2.1變量和序列
- 2.2 條件語句