數據庫常用語句(持續更新)

                                                基礎實用的數據庫語句總結

假設有三張表:學生表student,教師表teacher,學校表school,三張表分別有字段:學生姓名sname、年齡sage、性別sgender、所屬教師steacher、所屬學校sschool,教師姓名tname、年齡tage、性別tgender、所屬學校tschool,學校名字schoolname、地址address等字段

一、單表查詢:不含任何條件的查詢語句

select * from student   (查詢student表中所有學生的所有信息)

select sname from student  (查詢student表中所有學生的名字)

select sname,sage,sgender from student (查詢student表中所有學生的名字、年齡、性別三個信息)

二、單表查詢:根據條件進行搜索

select * from student where sname='張三'   (查詢student表中,姓名爲“張三”的所有學生的所有信息,可能有多個學生信息,因爲可能會有多個學生名字叫“張三”)

select * from student where sname in ('張三','李四','王五')    (查詢student表中學生姓名爲“張三”或者是“李四”或者是“王五”的學生的所有信息)

select * from student where sage between 15 and 20  (搜索年齡在15-20之間的學生的信息,不同數據庫可能效果不一樣:有些數據庫包含了15和20 ,有些不包含,有些只包含15不包含20,有些包含20不包含15)

select * from student where sname like '%三'%  (搜索名字包含了‘三’這個字符的學生信息)

三、多表聯合查詢

select * from student,teacher where sname='張三' and steacher=tname  (搜索學生“張三”以及張三所屬的教師的信息,最後會返回sname、sage、sgender、steacher、sschool、tname、tage、tgender、tschool)

select * from student left join teacher on steacher=tname (無論教師表中是否有教師匹配學生表的所屬教師,一定會返回學生表中的信息)

select sname、tname from (select * from student,teacher where steacher=tname)  midtablename(子查詢,子查詢需要注意的子表必須有單獨的表明,比如midtablename,如果沒有命名會報錯)

四、實用查詢語句

select  name,

sum(math) as math,

sum(english) as english,

sum(chines) as chines 

from (select name,

case subject1 when '數學' then 1 else 0 end as math,

case subject2 when '英語' then 1 else 0 end as english,

case subject3 when '語文' then 1 else 0 end as chines 

from table where name='%三%' 

) midtablename 

group by name

(例子說明:小學6年,12個學期,假設每學期都有數學和語文,從3年級開始纔有英語,那麼對於一個學生而言,他就學了12次數學和語文,學了6次英語,這個SQL語句就統計了學生在6年12個學期中,所學的數學、英語、語文的次數,以學期爲粒度進行統計)

select name,

case when grade<60 then '不及格' 

when grade>60 then '及格' 

end as result from table 

(搜索學生信息並顯示學生最後結果是否及格)

select * from table order by lastTime desc limit 1  (取出表中時間最近的一條記錄,通過lastTime進行降序排序,再限制記錄條數爲1,達到取出lastTime最近的一條記錄)

五、刪除語句

delete from table where ……

六、插入語句

insert into table values (

'張三',

15,

'男'

)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章