【网学网提醒】:网学会员为大家收集整理了几条效率最高的SQL语句提供大家参考,希望对大家有所帮助!
一.创建表(含多个字段)
Createtabletable_name(column_name1datatype1,column_name2datatype2,...)
二.删除表格(所有记录)
Deletetable_name删除"表格记录"会把操作记录在日志中,可以通过事务回滚来恢复删除的数据
truncatetabletable_name删除"表格记录"不可恢复
三.删除表
droptabletable_name把"表结构"和所有记录一起删除掉了
四.备份表
1.备份一样的表select*intotable_name1fromtable_name2
2.备份一份空的表副本select*intotable_name1fromtable_name2where1=2(因为1是不可能等于2的,所以建立的表里不会有记录)
五.常用Select操作
1.为结果集中的列指定别名(新列名)
Selectcolumn_nameasnewcolumnnamefromtable_name
或:Selectnewcolumnname=column_namefromtable_name
2.消除取值重复的行
Selectdistinctcolumn_namefromtable_name
3.限制返回行数
选取第一条记录:selecttop1*fromtable_name
选取前N条记录:selecttopN*fromtable_name
选取最后一条记录:selecttop1*fromtable_nameorderbycolumn_namedesc
选取最后N条记录:selecttopN*fromtable_nameorderbycolumn_namedesc
选取任意一条记录(随机):selecttop1*fromtable_nameorderbynewid()
六.修改字段值
注:下面用c1代表column_name(列名)
1.修改某一字段前几个字符
Updatetable_namesetc1='123’+right(c1,len(c1)-3)
2.修改某一字段后几个字符
Updatetable_namesetc1=left(c1,len(c1)-3)+’123’
七.对数据进行统计
1.返回记录的条数:Selectcount(*)as数目fromtable_name
2.返回某列记录的总和(数据类型需是数据类)Selectsum(column_name)as总和fromtable_name
Selectavg(column_name)as平均数fromtable_name
Selectmax(column_name)as最大fromtable_name
八.常用的几种查询
1.交叉连接查询(将两个表不加约束地连接在一起,连接产生的结果集的记录为两个表中记录的交叉乘积,
结果集的列为两个表属性性列的和.(使用时需两个表的记录条数对应)
Select*fromtable_name1crossjointable_name2
2.等值与非等值查询(返回两个表中的两个字段中某记录相同的所有记录)
Select*fromtable_name1innerjointable_name2ontable_name1.column_name=table_name2.column.name
例如:Select*fromtable1innerjointable8on=table8.aa
3.自身连接查询(可以理解为一个表的两个副本之间的连接)
例:查询选修了两门或两门以上课程的学生和课程名称(假设有一张学生选课表table1,字段名为name,课程名称为coursename)
语句该这样写:selecta.name,a.coursenamefromtable1asajointable1asbona.name=b.nameanda.coursename!=b.coursename
九
.外连接查询(分为左外连接,右外连接和全外连接)
1.左外连接
Select*fromtable_name1leftouterjointable_name2ontable_name1.column_name=table_name2.column_name
2.右外连接(把left改为right就行了)
3.全外连接(触类旁通,left改为full)
十.子查询
1.带有in运算符的子查询
例:查询有产品销售记录的产品信息
Select*from产品where产品编号in(select产品编号from产品销量)
下面举一个稍微复杂的例子,涉及到三张表.求选修了课程名为”大学语文”的学生和.(大学语文是课程表的属性列,学生和是学生表的属性列,两者之间通过课程注册表联系起来)
Select,from学生表wherein(selectfrom课程注册表where课程号in(select课程号from课程表where课程名='大学语文’))
3.带有比较运算符的子查询,常用的比较运算符有>,>=,<,<=,<>,!=,!<,!>.
例:列出高于平均分的学生的信息(有一张表名为学生,含和两个属性列,课程注册表含和成绩属性列)
Select*from学生Wherein(selectFrom课程注册Where成绩>(selectavg(成绩)from课程注册))
实用SQL语句
1.添加新记录
InsertintoTableName(字段1,字段2,...)values(value1,value2,...)
例如:insertintoSoft_info(SoftName)values('"+SoftNameTxtBox.Text+"')
2.修改任意一条记录(如要修改多条记录,可同时写多条语句)
UpdateTable_NamesetColumn_Name=**whereID=***
例如:Updatetable8setaa=44whereID=1
3.删除某条记录:
DeletefromTable_Namewhere条件
例如:Deletefromtable8whereID=3
4.删除某一字段:
altertableTable_NamedropcolumnColumn_Name
例如:altertabletable8dropcolumncc
在做数据分析的时候,基本上就是用到聚合函数,当然case函数在很多情况下也是非常有用的。有时间一定要好好学习下。