SQL查詢就那麼一句話


開篇
SQL查詢語句總括:
select 字段名
from    表名
[where 條件表達式]
[group by 字段列表][having 條件表達式]
[order by 字段列表][asc/desc]


單表操練

單表查詢:

1 輸出表中的所用的列
select * from 表名



2 選擇部分輸出
select 列名1,列名2...列名n 
from 表名



3 重命名輸出的列名
第一中方式在字段名後,以空格作爲分隔符,在寫上需要輸出的列名
第二種方式是在這兩部分之間寫上關鍵字“as”
select 列名1(空格)別名1,列名2 as 別名2
from 表名



4 去除重複記錄
關鍵字 distinct
select distinct 列名 
from 表名
這個列命就是可能出現重複的記錄



5 使用where子句
where子句後邊跟的是查詢的時候是對錶中數據的限制條件
  select 列名1,列名2,...列名n
  from 表名

  where  限制條件

例子:

select name 
from student 
where name='李華'


注:限制條件相應的寫在where後邊就好


等於(=):列名等於一個數或是一個字段
大於、小於(> 、<):一般和數字打交道
兩者之間:(between A and B)也是和數字打交道求的是一個連續的範圍
在...裏面(in):表示不連續的範圍
模糊查詢(like)
通配符匹配
1 % 匹配多個字符
2 - 匹配單個字符
3 []匹配某個區域的數據



5 order by 子句

將查詢的結果按照一定的順序顯示出來(一般和數字打交道)
select * 
from 表名
order by age desc
姓名降序排列





多表操練


查詢範圍:多個表
限制條件:表與表之間要有聯繫(多通過外鍵實現)

用作外鍵的最長用的就是利用不同的表相同的ID

例如:

select name
from table1,table2
where table1.ID=table2.ID and name='李華'
前邊的關聯關係和後邊的限制條件用and連接(多個限制條件就用多個and進行連接)


聚合數據
其實就是一些聚合函數(說白了就是數據庫中已經封裝好的一些函數的用法)
avg()對多個數值求平均值
sum()對多個數值求和
max()對多個數值求最大數
min()對多個數值求最小數
count()非空表達式的個數
count(*)返回所有記錄個數
聚合表達式學的時候就在字段的位置
select avg(age),min(age)
from 表名









嵌套查詢



在where子句的表達式彙總出現另一個查詢的情況成爲嵌套查詢
注:也可以用於多個表的查詢



例子:
select 列名1 ,列名2 from 表名1
where  列名1>
(select 列名1 from 表名2
   where 列名n='字符串')




保存查詢結果


select 輸出表 into 新表名
from 列名
where 子句



總結其實總的來說查詢就是一句話



select 列名 
from 表名
where 限制條件
group by  列名

order by  列名


書寫查詢語句的思路:
1 從那些表中選取滿足條件的數據記錄
2 輸出是需要那些數據列
3 是否按照一定的次序輸出

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