日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

SQL Server语句

發(fā)布時(shí)間:2025/3/11 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server语句 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SQL簡(jiǎn)介:
結(jié)構(gòu)化查詢語言,全拼 Structured Query Language
主要用于對(duì)數(shù)據(jù)庫的操作,大多數(shù)據(jù)庫遵循sql原則
SQL server使用的是sql的擴(kuò)展集T-SQL 全拼 Transact-SQL

SQL組成:
SQL由四部分組成分別為DML DDL DQL DCL

DML:數(shù)據(jù)表操作語言,用于插入(insert),修改(update),查詢(select)數(shù)據(jù)表的操作
DDL:數(shù)據(jù)庫的定義語言,建立數(shù)據(jù)庫,數(shù)據(jù)庫對(duì)象和定義其列,大部分是CREATE開頭
DQL:對(duì)于數(shù)據(jù)表盡心查詢的
DCL:用于數(shù)據(jù)庫權(quán)限,創(chuàng)建用戶名的(目前沒有接觸到)

SQL語句:(重點(diǎn))
插入語句:
//插入表的所有數(shù)據(jù),對(duì)應(yīng)關(guān)系和表中的數(shù)據(jù)一一對(duì)應(yīng)(包含類型,列名)
Insert into 表名 values(列1,列2…列n)
//插入數(shù)據(jù)到指定的列,值要對(duì)應(yīng)表名后面的列,不要和表中的順序?qū)?yīng)
Insert into 表名(列1,列2…列n) values(列1,列2…列n)

修改語句:
//修改所有列的數(shù)據(jù)–修改所有列的值,該列的值都改變
Update 表名 set 列1=值1,列2=值2…
//修改指定行查詢語句
Update 表名 set 列1=值1 ,列2 =值2 where 列=值
注:where表示條件,后邊接對(duì)于前面修改語句的條件,where后面的列一般為主鍵列,where后面的值表示要修改的值內(nèi)容

刪除語句://刪除表Drop table 表名//刪除整個(gè)表數(shù)據(jù),不刪除表Delete from 表名Truncate table 表名注:如果該列是自增列 ,delete刪除整個(gè)表數(shù)據(jù)之后再次插入之后會(huì)繼承上一次的序號(hào),truncate不會(huì)繼承序號(hào),而是從頭開始//刪除指定行數(shù)據(jù)Delete from 表名 where 列=值查詢語句://查詢?nèi)空Z句, ‘*’表示所有的列Select * from 表名//查詢指定列的所有數(shù)據(jù),在select后添加列名,表示指定列的數(shù)據(jù)Select 列1,列2,列3 from 表名//查詢指定條件語句,判斷符號(hào)在數(shù)據(jù)庫查詢中可用(> < = != >= <=)Select * from 表名 where 列1=值1//查詢指定范圍的數(shù)據(jù),該句查詢年齡大于40小于20的人的所有信息Select * from 表名 where 年齡>40 and 年齡<20注: and表示并且 or 表示或者//查詢指定范圍的數(shù)據(jù),該句查詢的是年齡在20到40之間的數(shù)據(jù),包含20和40Select * from 表名 where 年齡 between 20 and 40// 查詢姓名為‘張三’或‘李四’的人,Select * from 表名 where 姓名 in(‘張三’,’李四’)注:IN后面可以接很多值,相當(dāng)于多個(gè)or 上面的可以寫做:

select * from where 姓名=張三 or 姓名=李四
//查詢空值
Select * from 表名 where 列名 is null
//查詢指定的行數(shù)-返回最大行數(shù),Top指定最大顯示行數(shù)
Select top 2 * from 表名

分組查詢:
//查詢每個(gè)職業(yè)的人數(shù) count()表示求該列的個(gè)數(shù)
select work,count() from 表名 group by work
//多列分組查詢–查詢每個(gè)職業(yè)不同性別的人的個(gè)數(shù)
Select work,sex,count() from 表名 group by work,sex

HAVING:表示條件語句,在where后面再進(jìn)行條件篩選
//查詢?cè)摂?shù)據(jù)庫中每個(gè)職業(yè)人數(shù)大于10的數(shù)據(jù)
Select work,count() from 表名 group by work having count()>10
注:查詢語句中,where,Group by, Having,聚合函數(shù)執(zhí)行如下:
1,where從數(shù)據(jù)源中去掉不符合條件的搜索
2, Group by手機(jī)數(shù)據(jù)到各個(gè)組中
3,HAVING去掉不符合搜索條件的組數(shù)據(jù)

模糊查詢:
//查詢姓王的,名字后面帶一個(gè)字的人名
Select * from 表名 where name like ‘王_’
//查詢姓王的,名字后面可以帶任意字符的
Select * from 表名 where name like ‘王%’
注: ‘_’表示一個(gè)字符,‘%’表示任意個(gè)字符,如果需要查詢名字中在任意位置出現(xiàn)的關(guān)鍵字,寫成’%任意字%’

查詢排序:
//從小到大排列
Select * from 表名 order by 要排序的列名 [ASC]
//從大到小
select * from 表名 order by 要排序的列名 desc

聚合函數(shù):
Sum()求和 avg()平均數(shù) max()最大值 min()最小值 count()個(gè)數(shù)

多表查詢:(注意需要兩表關(guān)聯(lián),沒有關(guān)系的兩張表一般我們不進(jìn)行查詢)
內(nèi)連接查詢:
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取了一個(gè)別名為t,也就是說可以在我們這個(gè)查詢語句中使用t替代表1的名字,這個(gè)中間省略了as ,原語句應(yīng)該寫作 表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

注:外鏈接分為左外和右外,左外是以左表為基準(zhǔn),如果左表中有多余數(shù)據(jù),那么會(huì)在右表中補(bǔ)充null,如果左表中少了數(shù)據(jù),那么會(huì)在右表中刪掉沒有顯示在左表中的數(shù)據(jù)。有鏈接相反

總結(jié)

以上是生活随笔為你收集整理的SQL Server语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。