SQL Server语句
SQL簡介:
結構化查詢語言,全拼 Structured Query Language
主要用于對數據庫的操作,大多數據庫遵循sql原則
SQL server使用的是sql的擴展集T-SQL 全拼 Transact-SQL
SQL組成:
SQL由四部分組成分別為DML DDL DQL DCL
DML:數據表操作語言,用于插入(insert),修改(update),查詢(select)數據表的操作
DDL:數據庫的定義語言,建立數據庫,數據庫對象和定義其列,大部分是CREATE開頭
DQL:對于數據表盡心查詢的
DCL:用于數據庫權限,創建用戶名的(目前沒有接觸到)
SQL語句:(重點)
插入語句:
//插入表的所有數據,對應關系和表中的數據一一對應(包含類型,列名)
Insert into 表名 values(列1,列2…列n)
//插入數據到指定的列,值要對應表名后面的列,不要和表中的順序對應
Insert into 表名(列1,列2…列n) values(列1,列2…列n)
修改語句:
//修改所有列的數據–修改所有列的值,該列的值都改變
Update 表名 set 列1=值1,列2=值2…
//修改指定行查詢語句
Update 表名 set 列1=值1 ,列2 =值2 where 列=值
注:where表示條件,后邊接對于前面修改語句的條件,where后面的列一般為主鍵列,where后面的值表示要修改的值內容
select * from where 姓名=張三 or 姓名=李四
//查詢空值
Select * from 表名 where 列名 is null
//查詢指定的行數-返回最大行數,Top指定最大顯示行數
Select top 2 * from 表名
分組查詢:
//查詢每個職業的人數 count()表示求該列的個數
select work,count() from 表名 group by work
//多列分組查詢–查詢每個職業不同性別的人的個數
Select work,sex,count() from 表名 group by work,sex
HAVING:表示條件語句,在where后面再進行條件篩選
//查詢該數據庫中每個職業人數大于10的數據
Select work,count() from 表名 group by work having count()>10
注:查詢語句中,where,Group by, Having,聚合函數執行如下:
1,where從數據源中去掉不符合條件的搜索
2, Group by手機數據到各個組中
3,HAVING去掉不符合搜索條件的組數據
模糊查詢:
//查詢姓王的,名字后面帶一個字的人名
Select * from 表名 where name like ‘王_’
//查詢姓王的,名字后面可以帶任意字符的
Select * from 表名 where name like ‘王%’
注: ‘_’表示一個字符,‘%’表示任意個字符,如果需要查詢名字中在任意位置出現的關鍵字,寫成’%任意字%’
查詢排序:
//從小到大排列
Select * from 表名 order by 要排序的列名 [ASC]
//從大到小
select * from 表名 order by 要排序的列名 desc
聚合函數:
Sum()求和 avg()平均數 max()最大值 min()最小值 count()個數
多表查詢:(注意需要兩表關聯,沒有關系的兩張表一般我們不進行查詢)
內連接查詢:
Select * from 表1 t,表2 s where s.id=t.id
還可以寫作:
Select * from 表1 as t inner join 表2 as s on(t.id=s.id)
注:’表1 t’表示給表1取了一個別名為t,也就是說可以在我們這個查詢語句中使用t替代表1的名字,這個中間省略了as ,原語句應該寫作 表1 as t,表2同理
select t.Title,c.CategoryName,t.Author,t.PublishDate,t.UnitPrice from Books t,Categories c where t.categoryId=c.id;
外鏈接查詢:
左外鏈接:
Select * from 表1 as t left outer join 表2 as s on s.id=t.id
右外鏈接:
Select * from 表1 as t right outer join 表2 as s on s.id=t.id
總結
以上是生活随笔為你收集整理的SQL Server语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [深入学习C#]利用反射给对象赋值
- 下一篇: [深入学习C#]LINQ查询表达式详解(