2020-07-15作業(yè)

1、如何暫停或開啟mysql服務(wù)?

net stop mysql
net start mysql

2、如何用cmd命令登錄mysql窗口

首先win+R后輸入cmd進(jìn)入cmd窗口后,切換盤符,進(jìn)入到mysql所在的盤,然后查看mysql目錄下的bin文件的位置,將位置復(fù)制到cmd窗口中,進(jìn)入mysql,輸入mysql -u用戶名 -p密碼即可登錄到mysql窗口。

3、登錄時mysql用到 -u \ -p 等參數(shù),如何查看所有參數(shù)意思?

輸入mysql --help可以查看所有參數(shù)的意思

習(xí)題

要求寫一段 SQL 語句,查詢出每個學(xué)生參加每一門科目測試的次數(shù),結(jié)果按 student_id 和 subject_name 排序。




需要生成的結(jié)果如以下表所示

代碼如下

select
a.student_id,
a.student_name,
b.subject_name,
count(c.subject_name)  as attended_exams
from students  as a
cross join subjects as b
left join examinations as c
on a.student_id = c.student_id
and b.subject_name = c.subject_name
group by a.student_id , b.subject_name
order by a.student_id , b.subject_name;

這里在第一次連接表時用了left join發(fā)現(xiàn),Alex的考試次數(shù)無法計算,所以換了cross join來連接,就成功了。
這里學(xué)到了一個新的知識點,用到cross join交叉連接,,它們都返回被連接的兩個表所有數(shù)據(jù)行的笛卡爾積,返回到的數(shù)據(jù)行數(shù)等于第一個表中符合查詢條件的數(shù)據(jù)行數(shù)乘以第二個表中符合查詢條件的數(shù)據(jù)行數(shù)。惟一的不同在于,交叉連接分開列名時,使用CROSS JOIN關(guān)鍵字而不是逗號。
舉個例子:
test1



test2



交叉連接后

在本題中可以簡單的理解為將每門科目與students連接,連接后在進(jìn)行后續(xù)的分組聚合。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容