zoukankan      html  css  js  c++  java
  • sql 学习

    表结构:

     CREATE TABLE [dbo].[student](
         [id] [int] IDENTITY(1,1) NOT NULL,
         [name] [nvarchar](100) NULL,
         [age] [int] NULL,
        [score] [int] NULL,
      CONSTRAINT [PK_mvc_test2] PRIMARY KEY CLUSTERED 
     (
         [id] ASC
     )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
     ) ON [PRIMARY]
     
     GO

    按年龄分组,查每个年龄的人数,而年龄要大于或等于19

     select [age],COUNT(1) '人数'
      from student 
      group by age
      having age >= 19
    age 人数
    19 2
    20 1
    21 1
    33 1

     统计总分数

      select [name],[score] from student
      union all 
      select '总分',AVG([score]) from student
    name score
    Tom 99
    Jim 90
    Rose 95
    XiaoMing 97
    Jake 100
    Simth 0
    总分 80

     按id排序,查出第5到第6条记录

     

      select top (2) * from student
       where [id] not in 
       (select top (4) [id] from student)
    id name age score
    5 Jake 21 100
    6 Simth 33 0

    把一个表的数据复制到另一个表

    insert into book2 (Title,Content,CreatTime)
    (select top 200 Title,Content,CreatTime from book)

    把一个表的数据更新到另一个表

    update student set score=b.score
    from student a JOIN  tem_student b ON a.id=b.id

    sql  条件 case when then end

    select [name],
    (
    case [score]
    when 100 then '满分'
    when 0 then '鸡蛋'
    else CONVERT(varchar(50),[score])
    end
    ) as 分数
    from student
    
    select [name],
    (
    case 
    when [score]=100 then '满分'
    when [score]=0 then '鸡蛋'
    else CONVERT(varchar(50),[score])
    end
    ) as 分数
    from student

     查询表的结构 , 为什么不加这个查出来会多一个name,类型是sysname,   b.[name]<>'sysname'

    SELECT a.[name] Name,b.[name] DataType,a.[length] Length,colstat IsPrimaryKey FROM syscolumns a
     left join systypes b on b.xtype = a.xusertype
     where a.[id] = object_id('student') and b.[name]<>'sysname' order by a.[name]
    Name DataType Length IsPrimaryKey
    id int 4 1
    age int 4 0
    score int 4 0
    name nvarchar 200 0
     --修改字段长度
    alter table student alter column [name] varchar(50) 
    --查询数据库连接数                               
    SELECT * FROM 
    [Master].[dbo].[SYSPROCESSES] WHERE [DBID] 
    IN (SELECT  [DBID] FROM  [Master].[dbo].[SYSDATABASES] 
    WHERE  NAME='student'
    )
  • 相关阅读:
    c#发送邮件.net1.1和.net2.0中的两个方法
    六步使用ICallbackEventHandler实现无刷新回调
    报表项目总结
    转载:Tomcat Port 8009 与AJP13协议
    JUnit4 使用指南二 (熟练掌握)
    JUnit4 使用指南一 (简单上手)
    HP的项目中曾做一个业务日志系统
    Unitils使用(转载)
    iBatis 学习
    JUnit4 使用指南三 (Runner 特性分析)
  • 原文地址:https://www.cnblogs.com/cppwen/p/3071135.html
Copyright © 2011-2022 走看看