1. 程式人生 > 資料庫 >mysql之資料查詢SELECT * FROM students; SELECT * FROM classes;

mysql之資料查詢SELECT * FROM students; SELECT * FROM classes;

基礎查詢

SELECT * FROM students;
SELECT * FROM classes;

 

 

 

 

條件查詢

select * from students where score >= 80;

 

 or  或關係       and  與關係       not   非關係

要組合三個或者更多的條件,就需要用小括號()表示如何進行條件運算。

select * from students where score >= 80 and score <=90;

 

 投影查詢(即查詢表中的某幾列)

SELECT id,name,gender,score FROM students;

 

 

 

排序:查詢時按表中的某一項作升序或降序排列

按class_id升序

SELECT * FROM students ORDER BY class_id;

 

 

 

 按class_id降序

SELECT * FROM students ORDER BY class_id desc ;

 

 分頁查詢

SELECT * FROM students limit 3 offset 3;

 

 

 limit 3   每次獲取的資料最多為3條

offset 3  獲取從第4條開始的資料包括第4條

聚合查詢

統計人數

SELECT COUNT(*) '總計' FROM students

 

 

COUNT(*) '總計'  :總計為COUT(*)的別名

求和

 

SELECT  SUM(score) '二班總分' FROM students where class_id = 2;

 

 

 

 

 

 平均值

SELECT  CEILING(avg(score)) '二班平均分' FROM students where class_id = 2;

 

 

CEILING  :無論小數位是幾都向上進一位

FLOOR    :無論小數位是幾都向下退一位

最大值 

SELECT  max(score) '第一名' FROM students ;

 

 最小值

SELECT min(score) '最後一名' FROM students ;

多表查詢

select * from students , classes;

 

 注:沒什麼用

連線查詢

內連線

SELECT * FROM students 
INNER JOIN classes 
ON students .class_id = classes .id;

那麼INNER JOIN是選出兩張表都存在的記錄:

 

 

 

 左外連線

SELECT students.id,class_id,name FROM students 
LEFT OUTER JOIN classes 
ON students .class_id = classes .id;

LEFT OUTER JOIN是選出左表存在的記錄:

 

 

右外連線

SELECT students.id,class_id,name FROM students 
RIGHT OUTER JOIN classes 
ON students .class_id = classes .id;

 

RIGHT OUTER JOIN是選出右表存在的記錄:

 

 FULL OUTER JOIN則是選出左右表都存在的記錄: