zoukankan      html  css  js  c++  java
  • SQL笔记

    * 主键设置:SQLServer中两种常用的主键数据类型:int(或 bigint)+标识列(又称自动增长字段);uniqueidentifier(又称Guid、UUID)

    *  用标识列实现字段自增可以避免并发等问题,不要开发人员控制自增。用标识列的字段在Insert的时候不用指定主键的值。

    *  GUID算法:可以产生唯一标识的高效算法。SQLServer中生成GUID的函数newid(),.NET中生成Guid的方法:Guid.NewGuid(),返回是Guid类型。

    insert into Student(ID,Name,Sex) values(newid(),'波波','男') //此时的ID是主键,但不是自动增长的

    * SELECT * FROM T_Employee   ORDER BY FAge DESC,FSalary ASC

    * 数据库中,一个列如果没有指定值,呢么值就为null,这个null和C#中的null,数据库中的null表示“不知道”,而不是表示没有。因此select null+1结果是null,因为“不知道”加1的结果还是“不知道”。

    SELECT * FROM T_Employee WHERE FNAME=null; SELECT * FROM T_Employee WHERE FNAME!=null; 都没有任何返回结果,因为数据库也“不知道”。

    SELECT * FROM T_Employee WHERE FNAME IS null; //查出姓名为空的信息 SELECT * FROM T_Employee WHERE FNAME IS NOT null;//查出姓名不为空的信息

    * where与having:在where中不能使用聚合函数,必须使用having,having要位于group by之后。having是对分组后信息的过滤,能用的列和selectz中能用的列是一样的。having无法代替where

    * 例:检索按照工资从高到低排序检索从第六名开始一共三个人的信息。(top)

    * Row_Number函数:可简化实现上面例子

    * DISTINCT:去掉数据重复,它是对整个结果集进行数据重复处理的,而不是针对每一个列。

    * UINON:联合结果集,基本原则:每个结果集必须有相同的列数,每个结果集的列必须类型相容。UNION合并两个查询结果集,并且将其中完全重复的数据行合并为一条,若要使它不合并,可用UINON ALL. UINON因为要进行重复值扫描,所以效率低,因此如果不是确定要合并重复行,那么就用UNION ALL.

    案例1:要求查询员工的最低年龄和最高年龄,临时工和正式工要分别查询。 SELECT ‘正式员工最高年龄’,MAX(FAge) FROM T_Employee UNION ALL SELECT ‘正式员工最低年龄’,MIN(FAge) FROM T_Employee UNION ALL SELECT ‘临时员工最高年龄’,MAX(FAge) FROM T_TempEmployee UNION ALL SELECT ‘临时员工最低年龄’,MIN(FAge) FROM T_TempEmployee

    案例2:查询每个正式员工的信息,包括工号,工资,并且在最好一行加上所有员工工资额合计。 SELECT FNumber,FSalary FROM T_Employee UNION SELECT '工资合计',SUM(FSalary) FROM T_Employee

    * 索引(Index):创建索引的方式,在表设计器中点击右键,选择“索引/键”—>添加-->在列中选择索引包含的列 一般只在经常检索的字段上(where)创建索引。 另:即使创建了索引,仍然有可能全表扫描,比如like、函数、类型转换等。

  • 相关阅读:
    Excel利用剪贴板或错位引用将多列行数不一的数据复制粘帖到一列 来自:Office之家 链接:http://www.icanzc.com/excel/5246.html
    R语言之避免for循环示例
    R语言之as.numeric(对于factor型转数值型)
    R语言之row_number
    如何在Windows环境下开发Python(转)
    单行代码 之Python 3.5版
    install xgboost package in python (Anaconda)
    汉诺塔,杨辉三角之python实现
    special-symbols in package(data.table)
    R&SQL合并记录并去重
  • 原文地址:https://www.cnblogs.com/love201314/p/3171300.html
Copyright © 2011-2022 走看看