工作中常用的sql语句整理

发布时间:1714460107

基本语句:
******************************************************************************创建新表
createtabletabname(col1type1[notnull][primarykey],col2type2[notnull],..删除新表
droptabletabname增加一个列
Altertabletabnameaddcolumncoltype几个简单的基本的sql语句
选择:select*fromtable1where范围
插入:insertintotable1(field1,field2values(value1,value2删除:deletefromtable1where范围
更新:updatetable1setfield1=value1where范围查找:select*fromtable1wherefield1like‟%value1%‟所有包含„value1‟这个模式的字符串)---like的语法很精妙,查资料!---反义词:notlike
这里要注意,如果selectlike语句出现在“”里时,''要跟转译符号。例:"select*fromtable1wherefield1like\‟%value1%\..."排序:select*fromtable1orderbyfield1,field2[desc]总数:selectcount(*astotalcountfromtable1
求和:selectsum(field1assumvaluefromtable1平均:selectavg(field1asavgvaluefromtable1最大:selectmax(field1asmaxvaluefromtable1
最小:selectmin(field1asminvaluefromtable1[separator]高级语句:
******************************************************************************
AUNION运算符
UNION运算符通过组合其他两个结果表(例如TABLE1TABLE2并消去表中任何重复行而派生出一个结果表。当ALLUNION一起使用时(即UNIONALL,不消除重复行。两种情况下,派生表的每一行不是来自TABLE1就是来自TABLE2
BEXCEPT运算符EXCEPT运算符通过包括所有在TABLE1中但不在TABLE2中的行并消除所有重复行而派生出一个结果表。当ALLEXCEPT一起使用时(EXCEPTALL,不消除重复行。CINTERSECT运算符INTERSECT运算符通过只包括TABLE1TABLE2中都有的行并消除所有重复行而派生出一个结果表。当ALLINTERSECT一起使用时(INTERSECTALL,不消除重复行。注:使用运算词的几个查询结果行必须是一致的。使用外连接
Aleftouterjoin左外连接(左连接):结果集既包括连接表的匹配行,也包括左连接表的所有行。SQL:selecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINbONa.a=b.c
Brightouterjoin:右外连接(右连接:结果集既包括连接表的匹配连接行,也包括右连接表的所有行。Cfullouterjoin全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。

子查询
(表名1a表名2bselecta,b,cfromawhereaIN(selectdfromb或者:selecta,b,cfromawhereaIN(1,2,3外连接查询
(表名1a表名2bselecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINbONa.a=b.c
between的用法
between限制查询数据范围时包括了边界值,notbetween不包括select*fromtable1wheretimebetweentime1andtime2selecta,b,c,fromtable1whereanotbetween数值1and数值2in的使用方法
select*fromtable1wherea[not]in(1,2,4,6
Insert:请注意所有的整形十进制数都不需要用单引号引起来,而字符串和日期类型的值都要用单引号来区别。为了增加可读性而在数字间插入逗号将会引起错误。记住,在SQL中逗号是元素的分隔符。同样要注意输入文字值时要使用单引号。双引号用来封装限界标识符。
对于日期类型,我们必须使用SQL标准日期格式(yyyy-mm-dd,但是在系统中可以进行定义,以接受其他的格式。当然,2000年临近,请你最好还是使用四位来表示年份。INSERTINTOEMPLOYEESVALUES('Jones','Indiana','1992-02-01','Chicago',NULL,NULL;
我们不知道Jones先生的工薪级别和年薪,所以我们输入NULL(不要引号)NULLSQL中的一种特殊情况,我们以后将进行详细的讨论。现在我们只需认为NULL表示一种未知的值。INSERTINTOEMPLOYEES(FIRST_NAME,LAST_NAME,HIRE_DATE,BRANCH_OFFICEVALUE(
'Indiana','Jones',
'1992-02-01','Indianapolis';
这样,我们先在表名之后列出一系列列名。未列出的列中将自动填入缺省值,如果没有设置缺省值则填入NULL请注意我们改变了列的顺序,而值的顺序要对应新的列的顺序。如果该语句中省略了FIRST_NAMELAST_NAME项(这两项规定不能为空)SQL操作将失败。

工作中常用的sql语句整理

相关推荐