• Sqlserver 菜鸟起飞


    Sqlserver 学习总结之路

      LOL赏金猎人扬帆起航

      1,sqlserver 查询语句

      TABLE:Student

      字段:StuID ,StuName (名字),StuAge(年龄),StuScore(成绩),

      普通查询

    Select * from Student 

      条件查询 WHERE后边跟条件

      查询StuName为张三的数据

    Select * from Student Where StuNamen=‘张三’

     BETWEEN 查询两个值之间的数据

     查询年龄在十岁道二十岁之间的数据

     select * from Student where StuAge BETWEEN 10 and 20

    Like 模糊查询,查询大概 LIKE '%值%'

     查询StuName中存在 “http://i.cnblogs.com/EditPosts.aspx?opt=1技” 字的数据

    select * from Student where StuName Like '%技%'
    通配符
    % 代替一个或多个字符
    仅代表一个字符
    【charlist】 字符列中任何单一字符
    【^charlist】 不在字符列中的单一字符
       

    感觉Like非常神奇,很好用,实例:】

      查询姓张的学生信息

    Select * from Student where StuName like '%张%'

    查询名称最后一字为“磊”的同学信息

    select * from Student WHERE  StuName like '%磊'

    查询姓氏中不存在 “张”和“李”的同学信息

    select * from Student where StuName Like '[^张李]%'

    查询名字为两个字且姓张的同学的信息

    select * from Student where StuName like '张_'

     AND,OR

      and用来链接sql条件语句,可以理解为 “且”的意思   例如:

      这一句有两个条件,条件中间用Where 链接 且得 意思,查询两个条件都成立的数据

    select * from Student as S Where s.StuID = 1 and s. StuName = '张三'

       OR 也用来链接sql语句,可以理解为 “或”的意思, 例如:

      这一句有两个条件,中间用OR链接,意思是只要有一个条件成立就可以查出数据

    select * from Student as S Where s.StuID = 1 OR s. StuName = '张三'

     IN ,NOT IN

      in 包含的意思,NOT 否决的意思, NOT IN 不包含的意思   子查询 例如:

    select * from Table  where ID in (select Top(3)StuID from Student)--ID 包含在 StuID
    select * from Table  where ID not in (select Top(3)StuID from Student)--ID不包含在StuID中的数据

    select * from Student where StuName not like '%张%'--查询name中没有“张”的数据,NOT 否决
     

    排序,order by 

      order by 对查询后的结果集尽兴排序 他有两个标识,(ACS 升序,DESC 倒叙),默认为升序 例子:

    这一句的意思是按学生ID尽兴正序排列

    select * from StudentLX order by StuID  //默认为正序列,所以不用特意去加ASC除非特殊判读
    select * from StudentLX order by StuID DESC //结果集倒叙,按照学生ID进行倒叙排列

    首先根据ID进行倒叙排列,如果有多条AGE相同则按ID进行升序排列

    select * from Student order by StuAge desc ,StuID ASC

      AS(alias)

        AS的意思就是改变在,《查询过程中》,查询出来的结果集的名称,或指定表的名称,并不是改变表的名字,只是在查询时改变例如

      在进行连表时查询,

    select ST.StuID,Tab1.TabID  from Studen as ST , Table1 as Tab1 where ST.StuID = Table1. TabID

    也可以将查询出的结果集的表头更改 例如

    select StuName as '更改的表头名称' from Student 

    Distinct

      查询时忽略查询重复值,例如:

    select Distinct StuName from Student 

    MAX/MIN

    max查询一列中最大值,NULL不包括在内

    min查询一列中最小值,NULL不包括在内

    他们两个也可以用在文本列,来获取文本数字或字母的最高值,和最低值

    select MAX(age) from Student //查询年龄最大的同学
    select MIN(age) from Student //查询年龄最小的同学

    SUM

    查询某列的总和(数字 INT)

    select SUM(StuAge) as '年龄总和' from Student

    AVG

    平均值,返回某一列的平均值

    Select AVG(StuAge) from Student 

    COUNT()

    返回指定条件,或者某一列的行数,例如下列,返回学生的个数,

    Select COUNT(StuID) from Studnet

    Top()

    返回前多少列,例如 ,只查询数据集的前三列

    select Top(3) from Student

    GROUP BY

    分组,对结果集进行分组 例如:

    select SUM(StuID) as ID from Student Group by StuID 

    声明:本文摘抄,免责,原文地址(http://www.cnblogs.com/yank/p/3672478.html);

  • 相关阅读:
    Python随笔,day1
    利用php抓取蜘蛛爬虫痕迹的示例代码
    explain(执行计划)工具使用
    MyISAM和 InnoDB中索引的数据结构
    页面静态化技术(真静态和伪静态的实现)
    关于MySQL字符集和校对集问题
    客户端禁用cookie后session的解决方法
    解决Ajax中的缓存问题
    MySQL中列类型的选择需要注意的问题
    MySQL中索引的分类和基本操作
  • 原文地址:https://www.cnblogs.com/daimaozidejiamao/p/5509512.html
Copyright © 2020-2023  润新知