|
[SQL]幾條使用率最高的SQL語句 (本文瀏覽次數(shù): 26)
一.創(chuàng)建表(含多個字段) Create table table_name (column_name1 datatype1,column_name2 datatype2,...) 二.刪除表格(所有記錄) Delete table_name 刪除"表格記錄"會把操作記錄在日志中,可以通過事務(wù)回滾來恢復(fù)刪除的數(shù)據(jù) truncate table table_name刪除"表格記錄"不可恢復(fù) 三.刪除表 drop table table_name把"表結(jié)構(gòu)"和所有記錄一起刪除掉了 四.備份表 1.備份一樣的表 select *into table_name1 from table_name2 2.備份一份空的表副本 select *into table_name1 from table_name2 where 1=2(因?yàn)?1是不可能等于2的,所以建立的表里不會有記錄) 五.常用Select操作 1.為結(jié)果集中的列指定別名(新列名) Select column_name as newcolumnname from table_name 或:Select newcolumnname=column_name from table_name 2.消除取值重復(fù)的行 Select distinct column_name from table_name 3.限制返回行數(shù) 選取第一條記錄:select top 1* from table_name 選取前N條記錄: select top N* from table_name 選取最后一條記錄:select top 1* from table_name order by column_name desc 選取最后N條記錄:select top N* from table_name order by column_name desc 選取任意一條記錄(隨機(jī)):select top 1* from table_name order by newid() 六.修改字段值 注:下面用c1代表column_name(列名) 1.修改某一字段前幾個字符 Update table_name set c1=‘123’ + right(c1,len(c1)-3) 2.修改某一字段后幾個字符 Update table_name set c1=left(c1,len(c1)-3) +’123’ 七.對數(shù)據(jù)進(jìn)行統(tǒng)計(jì) 1.返回記錄的條數(shù):Select count(*) as 數(shù)目 from table_name 2.返回某列記錄的總和(數(shù)據(jù)類型需是數(shù)據(jù)類) Select sum(column_name) as 總和 from table_name Select avg(column_name) as 平均數(shù) from table_name Select max(column_name) as 最大 from table_name
八.常用的幾種查詢 1.交叉連接查詢(將兩個表不加約束地連接在一起,連接產(chǎn)生的結(jié)果集的記錄為兩個表中記錄的交叉乘積, 結(jié)果集的列為兩個表屬性性列的和.(使用時需兩個表的記錄條數(shù)對應(yīng)) Select *from table_name1 cross join table_name2 2.等值與非等值查詢(返回兩個表中的兩個字段中某記錄相同的所有記錄) Select *from table_name1 inner join table_name2 on table_name1.column_name=table_name2.column.name 例如:Select *from table1 inner join table8 on 姓名=table8.aa 3.自身連接查詢(可以理解為一個表的兩個副本之間的連接) 例:查詢選修了兩門或兩門以上課程的學(xué)生姓名和課程名稱(假設(shè)有一張學(xué)生選課表table1,姓名字段名為name,課程名稱為coursename) 語句該這樣寫:select a.name,a.coursename from table1 as a join table1 as b on a.name=b.name and a.coursename!=b.coursename 九.外連接查詢(分為左外連接,右外連接和全外連接) 1.左外連接 Select *from table_name1 left outer join table_name2 on table_name1.column_name=table_name2.column_name 2.右外連接(把left 改為right就行了) 3.全外連接(觸類旁通,left 改為 full)
十.子查詢 1.帶有in運(yùn)算符的子查詢 例:查詢有產(chǎn)品銷售記錄的產(chǎn)品信息 Select *from 產(chǎn)品 where 產(chǎn)品編號 in (select 產(chǎn)品編號 from 產(chǎn)品銷量) 下面舉一個稍微復(fù)雜的例子,涉及到三張表.求選修了課程名為”大學(xué)語文”的學(xué)生學(xué)號和姓名. (大學(xué)語文是課程表的屬性列,學(xué)生學(xué)號和姓名是學(xué)生表的屬性列,兩者 之間通過課程注冊表聯(lián)系起來) Select 學(xué)號,姓名 from 學(xué)生表 where 學(xué)號 in(select 學(xué)號 from 課程注冊表 where 課程號 in (select 課程號 from 課程表 where 課程名=‘大學(xué)語 文’)) 3.帶有比較運(yùn)算符的子查詢,常用的比較運(yùn)算符有>,>=,<,<=,<>,!=,!<,!>. 例:列出高于平均分的學(xué)生的信息(有一張表名為學(xué)生,含學(xué)號和姓名兩個屬性列,課程注冊表含學(xué)號和成績屬性列) Select *from 學(xué)生 Where 學(xué)號 in (select 學(xué)號 From 課程注冊 Where 成績 > (select avg(成績) from 課程注冊))
實(shí)用SQL語句
1.添加新記錄 Insert into TableName(字段1,字段2,...) values(value1,value2,...) 例如:insert into Soft_info(SoftName) values(‘" + SoftNameTxtBox.Text + "‘) 2.修改任意一條記錄(如要修改多條記錄,可同時寫多條語句) Update Table_Name set Column_Name=** where ID=*** 例如:Update table8 set aa=44 where ID=1 3.刪除某條記錄: Delete from Table_Name where 條件 例如:Delete from table8 where ID=3 4.刪除某一字段: alter table Table_Name drop column Column_Name 例如:alter table table8 drop column cc
|