网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

SQL常用语法

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

【网学网提醒】:以下是网学会员为您推荐的SQL常用语法,希望本篇文章对您学习有所帮助。


    select查询
    select列名from表名where条件
    selectdistinct列名....去除重复项
    select列名from表名where条件1and条件2|条件1or条件2
    select列名from表名where列名=值|列名in(值1,值2..)
    select列名from表名where值1between值2(值1和值2可以比较大小)
    select列名from表名where值like正则表达式(模糊查询)
    select列名from表名where条件orderby列名1asc|desc,列名2asc|desc默认为asc从小到大排列desc从大到小(排列)
    select函数名列名from表名where条件
    select列名1,函数列名2from表名groupby列名1(select后面的所有列中,没有使用聚合函数的列,必须出现在groupby后面)
    select列名1,函数(列名2)from表名groupby列名1having函数条件(如果被SELECT的只有函数栏,那就不需要groupby)(结果只显示符合having后条件的部分)
    select表别名.列名1列别名from表名表别名(别名在实名后声明)
    连接
    内部连接(左连接)where表名1.列名=表名2.列名(两个列名所指相同)需要要两个表格内都有同样的列和值,并列出相同的列及其值
    外部连接where表名1.列名=表名2.列名(+)(后面加(+)的是要完整列出的列Oracle语法)列出一个表格中一列的所有值,无论它的值在另一个表格中有没有出现
    串联字符串concat
    MySQL:concat()
    Oracle:concat()或||
    SQLServer:+
    concat(字符串1,字符串2.....)
    MySQL/Oracle:selectconcat(字符串1,字符串2.....)from表名where条件
    Oracle:select字符串1||''||字符串2from表名where条件
    SQLServer:select字符串1+''+字符串2from表名where条件
    字符串抓取substrsubstring
    substr(str,pos,len):由中的第位置开始,选出接下去的个字符。len可缺省但不适用于SQLserver
    selectsubstr(str,pos,len)from表名where条件
    trim移除字符串
    MySQL:trim(),rtrim(),ltrim()
    Oracle:rtrim(),ltrim()
    SQLServer:rtrim(),ltrim()
    trim([[位置][要移除的字符串]FROM]字符串):[位置]的可能值为LEADING(起头),TRAILING(结尾),orBOTH(起头及结尾)。这个函数将把[要移除的字符串]从字符串的起头、结尾,或是起头及结尾移除。如果我们没有列出[要移除的字符串]是什么的话,那空白就会被移除。
    ltrim(字符串):将所有字符串起头的空白移除。
    rtirm(字符串):将所有字符串结尾的空白移除。
    creattable创建表
    creattable"表名"("列1""列1数据种类","列2""列2数据种类",...)
    notnull如果我们不允许一列含有null值,我们就需要对那列做出notnull的指定。
    uniqueunique限制是保证一个列中的所有数据都是有不一样的值
    check
    限制是保证一列中的所有数据都是符合某些条件列名integercheck(条件)
    check限制目前尚未被执行于MySQL数据库上
    PrimaryKey主键中的每一个数据都是表格中的唯一值。主键可以是原本数据内的一列,或是与原本数据没有关系的列。主键可以包含一或多个列。当主键包含多个列时,称为组合键(CompositeKey)。
    MySQL:(主键列integer,"列1""列1数据种类","列2""列2数据种类",...primarykey(主键列));
    Oracle,SQLServer:(主键列integerprimarykey,"列1""列1数据种类","列2""列2数据种类",...);
    MySQL,Oracle,SQLServer:altertable表名addprimarykey(主键列);
    ForeignKey外来键是一个(或数个)指向另外一个表主键的列。外来键的目的是确定资料的参考完整
    性。只有被准许的数据值才会被存入数据库内。
    MySQL:(...外键列integer,...foreignkey(外键列)references外键来源表(来源表外键名));
    Oracle,SQLServer:(...外键列interreferences外键来源表(来源表外键名),...);
    MySQL,SQLServer:altertable表名addforeignkey(外键名)references()外键来源表名(来源表外键名);
    Oracle:altertable表名add(constraintfk_表名1)foreignkey(外键名)references外键来源表名(来源表外键名);
    createview创建视图
    createview视图名asSQL语句SQL语句可以是任何一个我们在这个教材中有提到的SQL。
    createview视图名asselect列名1,.....from表名1,.....where.....
    可以再一个表上建立视图,也可以建立多表视图,这样可以代替连接
    altertable修改表
    altertable表名改变方式
    加一列:add"列1""列1数据种类"
    删去一列:drop"列1"
    改变列名称:change"原列名""新列名""新列名数据种类"
    改变列的数据种类:Mmodify"列1""新数据种类"
    droptable删除表
    droptable表名
    truncatetable清除表中数据
    truncatetable表名
    insertinto添加
    insertinto表格名(列1,列2...)values(值1,值2)
    insertinto表1(列1,列2,...)select列3,列4,...from表2通过其他表一次添加多条数据
    update更新修改
    update表名set列1=值1,列2=值2,..,where条件
    deleteform删除数据
    deletefrom表名where条件
    union将两个SQL语句的结果合并起来,两个SQL语句所产生的列需要是同样的数据种类,使用时只会看到不同的数据值,即取其并集。
    语句1union语句2
    语句1unionall语句2与union不同的是其会将每一项符合条件的数据都列出来,无论数据值有无重复。
    intersect处理两个SQL语句的结果,取其交集。
    语句1intersect语句2
    minus处理两个SQL语句的结果,只取语句1结果数据中与语句2数据不同的部分,且数据
    不重复
    except处理两个SQL语句的结果,只取语句2结果数据中与语句1数据不同的部分,且数据不重复
    子查询
    select列1from表where列2比较运算符(select列3from表where条件)比较运算符包括+,-,*,/,like,in等
    exists用来测试内查询有没有产生任何结果
    select列1from表whereexists(select列3from表where条件)子查询如果有结果的话,系统就会执行外查询中的SQL。若是没有的话,那整个SQL语句就不会产生任何结果
    caseSQL用来做为if-then-else之类逻辑的关键字
    select列1case列2
    when条件1then结果1
    when条件2then结果2
    ...
    else结果N
    end
    from表名
    算排名
    例:selecta1.列1,a1.列2,count(a2.列2)排名列名
    from表1a1,表1a2
    wherea1.列2<=a2.列2or(a1.列2=a2.列2anda1.列1=a2.列1)
    groupbya1.列1,a1.列2
    orderbya1.列2desc,a1.列1desc;
    算中位数
    例:select列2结果列名from
    (selecta1.列1,a1.列2,count(a1.列2)新列名
    from表1a1,表1a2
    wherea1.列2    groupbya1.列1,a1.列2
    orderbya1.列2desc)a3
    where新列名=(select(count(*)+1)div2from表1);
    
    
  • 上一篇资讯: SQL常见的约束语法
  • 下一篇资讯: sql常用语句
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师