Mysql(二)

來源:互聯網
上載者:User

標籤:記錄   nsa   left join   復原   姓名   group by   開啟   編號   medium   

一、串連查詢-- 查詢課程名稱 和年級的名稱
-- 非等值串連查詢
SELECT subjectname,gradeName FROM `subject`,grade
-- 等值串連查詢
SELECT subjectname,gradeName
FROM `subject`,grade
WHERE subject.gradeId=grade.`GradeID` -- 外串連  左外串連   以左表為準,右表中沒有資料 返回null
-- 查詢課程名稱,課時數還有年級名稱
SELECT subjectname,gradeName,classHour
FROM `subject` s LEFT JOIN grade g
ON s.gradeId=g.`GradeID` -- 外串連  右外串連   以右表為準,左表中沒有資料 返回null
SELECT subjectname,gradeName,classHour
FROM `subject` s RIGHT JOIN grade g
ON s.gradeId=g.`GradeID` --  自身串連查詢
CREATE TABLE IF NOT EXISTS teacher(
id INT(10),  -- 老師自身的編號
`name`  VARCHAR(20),
pid  INT(10)   --  老師對應的導師編號
)  -- 新增教師資訊
INSERT INTO teacher 
VALUES
(1,‘老師1‘,5),
(2,‘老師2‘,5),
(3,‘老師3‘,5),
(4,‘老師4‘,3),
(5,‘老師5‘,3) -- 查詢老師  和對應導師的姓名
SELECT t1.`name` AS ‘老師姓名‘, t2.`name` AS ‘導師姓名‘
 FROM teacher t1,teacher t2
WHERE t2.id=t1.pid 二、Order by-- 查詢 課程名稱是  資料庫結構-1 的所有考試成績和學生的姓名  並且按照成績降序進行查看
--  order by 排序  預設是升序 asc  desc 降序 
SELECT subjectName,StudentResult,studentName
FROM `subject`,result,student
WHERE
student.`StudentNo`=result.`StudentNo`
AND
result.`SubjectNo`=subject.`SubjectNo`
AND
subjectName=‘資料庫結構-1‘
ORDER BY StudentResult  DESC三、limit-- 查詢 課程名稱是  資料庫結構-1 的所有考試成績和學生的姓名  並且按照成績降序進行查看
--  order by 排序  預設是升序 asc  desc 降序 
--  分頁  使用 limit  begin,pageSize
--  begin 從那一條資料開始    (當前頁碼-1)*pageSize
--  pageSize  每頁顯示的數量
SELECT subjectName,StudentResult,studentName
FROM `subject`,result,student
WHERE
student.`StudentNo`=result.`StudentNo`
AND
result.`SubjectNo`=subject.`SubjectNo`
AND
subjectName=‘資料庫結構-1‘
ORDER BY StudentResult  DESC
LIMIT 10,5  四、子查詢-- 子查詢   把自身的查詢結果 當作 另一條查詢語句的條件來使用
-- 查詢 課程名稱是  資料庫結構-1  並且分數不小於80分的學生姓名和學號
SELECT  studentName,studentNo
FROM student
WHERE studentNo IN
(SELECT studentNo
FROM result
WHERE
subjectno=(SELECT subjectno FROM SUBJECT WHERE subjectName=‘資料庫結構-1‘)
AND StudentResult>=80
)五、統計函數--  統計函數
--   count() sum() avg()  min() max()
SELECT
 COUNT(*) AS 總記錄數,
 MAX(studentResult) AS 最高分,
 MIN(studentResult) AS 最低分,
 AVG(studentResult) AS 平均分,
 SUM(studentResult) AS 總成績 
 FROM result六、執行順序-- 執行順序
FROM  表
WHERE  條件
GROUP BY 分組(列)
HAVING 分組的條件
SELECT 查詢的內容
ORDER BY---------代碼示範SELECT sex AS 性別,COUNT(sex) AS 人數
FROM tb
WHERE sex IS NOT NULL
GROUP BY sex
ORDER BY COUNT(sex) DESC SELECT sex AS 性別,COUNT(sex) AS 人數
FROM tb
WHERE sex IN(‘男‘,‘女‘)
GROUP BY sex
ORDER BY COUNT(sex) DESC七、事務隔離-- 查詢 mysql預設的交易隔離等級
SELECT @@tx_isolation
-- 改變交易隔離等級
SET tx_isolation=‘Read-committed‘
-- 開啟事務
START  TRANSACTION-- 復原  rollback-- 提交 commit

Mysql(二)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.