【网学网提醒】:网学会员为需要朋友们搜集整理了基本SQL语句-应用相关资料,希望对各位网友有所帮助!
数据操作
insertintoTable1(S1,S2,S3) ---插入单行数据---
values('','','',)
insertintoTable1(S1,S2,S3) ---插入多行数据:(1)从现有表中的数据添加到新表(之前已创建)---
selectS1,S2,S3
fromTable2
selectTable1.S1,Table1.S2,Table1.S3 ---(2)从现有表中的数据添加到新表(之前未创建)---
intoTable2
fromTable1
insertTable1(S1,S2,S3) ---(3)通过UNION关键字合并数据进行插入---
select'','',''union
select'','',''union
select'','',''union
select'','',''union
select'','',''
updateTable1setS1=''whereS2='' ---更新数据---
deletefromTable1whereS1='' ---使用delete删除数据---
truncatetableTable1 ---使用truncatetable删除数据---
数据查询
select*fromTable1 ---所有行---
selectS1,S2,S3 ---部分行---
fromTable1
whereS3=''
selectS1asT1,S2asT2,S3asT3 ---使用列名---
fromTable1
whereS3=''
selectS1+'.'+S2as'T1' ---合并列名---
fromT1
selectS1fromTable1whereS2isNULL ---查询空行---
select=S1,地址=S2,'河北省'as名称 ---使用常量---
fromTable1
selecttop10*fromTable1 ---返回限制行数---
sp_who_lock
查询排序
selectstudentas学员编号,(Score*0.9+5)as综合成绩 ---升序排序---
fromScore
where(Score*0.9+5)>60
orderbyScore/orderbyScoreasc
selectstudentas学员编号,(Score*0.9+5)as综合成绩 ---降序排序---
fromScore
where(Score*0.9+5)>60
orderbyScoredesc
函数
字符串函数
charindex selectcharindex('ACCP','MyAccpCourse',1) --寻找一个指定的字符串在另一个字符串中的起始位置
len selectlen('mySQLSErver') --返回传递给它的字符串的长度
lower selectlower('mysqlserver') --把传递给它的字符串转换为小写
upper selectupper('mysqlserver') --把传递给它的字符串转换为大写
ltrim selectltrim('mysqlserver') --清除字符左边的空格
rtrim selectrtrim('mysqlserver') --清除字符右边的空格
right selectright('mysqlserver',3) --从字符串右边返回指定数目的字符
replace selectreplace('mysqlserver','y','e') --替换一个字符串中的字符
stuff selectstuff('abcdefg'2,3,'你好') --在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符
日期函数
getdate selectgetdate() --取得当前系统的日期
dateadd selectdateadd(mm,4,'01/01/99') --将指定的数值添加到指定的日期部分后的日期
datediff selectdatediff(mm,'01/01/99','05/01/99') --两个日期之间的指定日期部分的区别
datename selectdatename(dw,'01/01/2000') --日期中指定日期部分的字符串形式
datepart selectdatepart(day,'01/15/2000')
--日期中指定日期部分的整数形式
数学函数
abs selectabs(-43) --取数值表达式的绝对值
ceiling selectceiling(43.5) --取大于或等于数值,表达式的最小整数
floor selectfloor(43.5) --取小于或等于数值,表达式的最小整数
power selectpower(5,2) --取数值表达式的幂值
round selectround(43.543,1) --将数值表达式四舍五入为指定精度
sign selectsign(-43) --对于正数返+1,对于负数-1,对于0则返回0
sqrt selectsqrt(9) --取浮点表达式的平方根
系统函数
convert selectconvert(varchar(5),12345) --转变数据类型
current_user selectcurrent_user --返回当前用户的名字
datalength selectdatalength('mysqlserver') --返回用于指定表达式的字节数
host_name selecthost_name() --返回当前用户登陆的计算机名字
system_user selectsystem_user --返回当前登陆的用户名称
user_name selectuser_name(1) --从给定的用户ID返回用户名
模糊查询
select*fromStudentswhereSnamelike'张%' --使用like进行模糊查询
select*fromScorewhereSorebetween60and80
select*fromScorewhereSorenotbetween60and80 --使用between\notbetween在某个范围内进行查询
selectSnameas学员fromStudentswhereSAddressin('as','df','re')
orderbySaddress --使用in在列举值内进行查询
聚合函数
selectsum(ytd_sales)fromtitleswheretype='business' --SUM返回表达式中所有值的总和,只能用于数字类型的列,不能汇总字符,日期等类型
selectavg(Score)as平均成绩fromScorewhereScore>=60 --AVG返回所有数值的平均值,只能用于数字类型的列,不能汇总字符,日期等类型
selectavg(Score)as平均成绩,max(Score)as最高分,min(Score)as最低分
fromScorewhereScore>=60 --MAX\MIN返回所有表达式中的最大值\最小值,可以用于数字型,字符型,以及日期\时间类型
selectcount(*)as及格人数fromScorewhereScore>=60 --COUNT返回提供的表达式中非空值的计数
分组查询
selectCourseID,AVG(Score)as课程平均成绩fromScoregroupbyCourseID
selectStudentsIDas学员编号,CourseIDas内部测试,avg(Score)as内部测试平均成绩
fromScoregroupbyStudentID,CourseID --用groupby进行分组查询
selectStudentsIDas学员编号,CourseIDas内部测试,avg(Score)as内部测试平均成绩
fromScoregroupbyStudentID,CourseID
havingcount(Score)>1 --用groupby进行分组查询
多表联接查询-内联接查询--(参与表的地位是平等的)
selectStudents.Sname,Score.CourseID,Score.Score
fromStudents,Score
wherestudents.Score=Score.StudentID --在WHERE子句中指定联接条件
selectS.SNa
me,C.CourseID,C.Score
fromStudentsasSinnerjoinScoreasC
on(S.Scode=C.StudentID) --在FROM子句中使用JOINON
多表联接查询-外联接查询--(参与表的地位有主次之分)
selectS.SName,C.CourseID,C.Score
fromStudentsasS
leftouterjoinScoreC
onS.SCode=C.StudentID --左外联接查询
selectTitles.Title_id,Titles.Title,Publishers.Pub_name
fromtitles
rightouterjoinPublishersonTitles.Pub_id=Publishers.Pub_id --右外联接查询