zoukankan      html  css  js  c++  java
  • SQL语句整理

    前两天复习了一下SQL语句  想再整理一下感觉有用的SQL语句

    (1) 数据记录筛选:
    sql="select * from 数据表 where字段名=字段值 order by字段名[desc]"(按某个字段值降序排列。默认升序ASC)
    sql="select * from 数据表 where字段名like '%字段值%' order by 字段名 [desc]"
    sql="select top 10 * from 数据表 where字段名=字段值 order by 字段名 [desc]"
    sql="select top 10 * from 数据表 order by 字段名 [desc]"
    sql="select * from 数据表 where字段名in ('值1','值2','值3')"
    sql="select * from 数据表 where字段名between 值1 and 值2"
    (2) 更新数据记录:
    sql="update 数据表 set字段名=字段值 where 条件表达式"
    sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
    (3) 删除数据记录:
    sql="delete from 数据表 where 条件表达式"
    sql="delete from 数据表" (将数据表所有记录删除)
    (4) 添加数据记录:
    sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"
    sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)
    (5) 数据记录统计函数:
    AVG(字段名) 得出一个表格栏平均值
    COUNT(*;字段名) 对数据行数的统计或对某一栏有值的数据行数统计
    MAX(字段名) 取得一个表格栏最大的值
    MIN(字段名) 取得一个表格栏最小的值
    SUM(字段名) 把数据栏的值相加
    引用以上函数的方法:
    sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
    set rs=conn.excute(sql)
    用 rs("别名") 获取统计的值,其它函数运用同上。
    查询去除重复值:select distinct * from table1
    (6) 数据表的建立和删除:
    CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )
    (7) 单列求和:
    SELECT SUM(字段名) FROM 数据表

    外连接
    A、left outer join:
    左外连接(左连接):结果集既包括连接表的匹配行,也包括左连接表的所有行。
    SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
    B:right outer join:
    右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
    C:full outer join:
    全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。

    在SQL语句组合时用的较多
    “where 1=1”是表示选择全部 “where 1=2”全部不选
    例:

    if @strWhere !='
    begin
    set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere
    end
    else
    begin
    set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
    end

    我们可以直接写成

    set @strSQL='select count(*) as Total from tablename where 1+1'
    if(@strWhere!='')
    {set @strSQL=@strSQL+and+strWhere}

    循环写入数据

    declare @i int
    set @i=1
    while @i<30
    begin
    insert into test (userid) values(@i)
    set @i=@i+1
    end
  • 相关阅读:
    第四周作业
    第四周上机作业
    java第十周上机练习
    java第九周上机练习
    第八周作业
    java第八周上机练习
    java第七周作业
    java第七周上机练习
    java第六周作业
    java上机练习 4.9
  • 原文地址:https://www.cnblogs.com/zhushijun/p/7248422.html
Copyright © 2011-2022 走看看