SQL Server數據庫————連接查詢和分組查詢


SQL Server數據庫————連接查詢和分組查詢

分組查詢

select from  <表名>  

where  ……

group by  

注意:跟order  by一樣group by 后面可以寫多個列  寫多個列則按照多列分組

  

 

having:對分組之后的結果進行篩選

      !!!注意:having必須寫在group by后面,沒有group by,having也不能寫

      !!!對查詢的列,要么出現在聚合函數,要么出現在分組,否則會出錯

 

一條SQL語句同時出現 where  group by   having  order by則排列順序為:

Select…from ....where…. group by....having…order by

 

/********聯接查詢***********/

多表聯接查詢實際上是通過各個表之間共同列的關聯性來查詢數據的

A.內連接:

1) where子句中指定連接條件

select 列名1,列名2...  from 1,2

where 1.= 2.

-如有多表,from中多個表名用逗號隔開,where中多個關系中用 and 連接

2) from子句中使用inner join…on

select 列名1,列名2..  from 1 inner join 2

on 1.= 2.

!!!注意:如果兩個表中的列名相同,在語句中如果查詢這一列,需要寫表名.列名

        如果列名不同,不需要加表名

B.外連接:

左外連接:left join…on  或者left outer join…on

查詢出左表所有的行,不僅僅是匹配的行。若左表某些數據在右表中沒有對應的項,則以null填充

select 列名1,列名2... from 1  left join 2

on 1.= 2.

 

右外連接:right  join…on  或者right  outer join…on

查詢右表所有行,不僅僅是匹配的行。若右表的某些數據在左表中沒有對應的項,則以null填充

select 列名1,列名2... from 1  right  join 2

on 1.= 2.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM