每天学习一点点...

  今天工作之余学习了一点数据库的知识。拿出来展示一下。


 

//创建表和插入操作。
*********************************
create table SC
(
  sno  char(10)  not null,
  cno char(2)    NULL, /*课程编号字段*/
  score  int NULL  /*成绩字段*/
  )
Go
INSERT INTO sc (sno,cno,score) VALUES ('3130050106', 'c3',92)
Go
*********************************
select sno,avg(score)as 平均成绩 from SC
group by sno
*********************************
CREATE TABLE AVGSCORE
(SNO CHAR(10),
AVGSCORE SMALLINT)
Go
INSERT INTO AVGSCORE
SELECT SNO,AVG(SCORE)
FROM SC
GROUP BY SNO

我们需要注意的一点,如果在返回集字段中,这些字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。
*********************************
update AVGSCORE set AVGSCORE = AVGSCORE - 2

select * from AVGSCORE

update AVGSCORE set AVGSCORE = AVGSCORE -2
where AVGSCORE.SNO in (
select sno from SC
where SC.cno = 'c4')
*********************************
CREATE TABLE T1
 ( column_1 int,
column_2 varchar(30))
Go
INSERT T1 (column_2, column_1,wuzang) VALUES ('This',1,'tianx') /*插入操作*/

update T1 set wuzang = 'wu'
where wuzang = '??'

alter table T1 add wuzang char(5) null /* 增加列*/

drop table T1   /*delete table*/

delete from T1                -- sql 两种注释方式:
where column_1 = 7            /*删除(此处可多行注释)*/
select * from T1              --dsdds(此处可单行注释)
                            
*********************************
--两种变量
-- 1)给局部变量赋值 并输出。
DECLARE @myvar  char(20)
     select  @myvar = 'ssfdfdMSM'
     SELECT @myvar
     GO
--2)全局变量:常常以@@开头 ,是系统定义和维护。
  例如
SELECT GETDATE( )  AS  '当前的时期和时间',
   @@CONNECTIONS AS  '试图登录的次数'
*********************************
--字符串串联运算符 + 例如:
SELECT  'abc'+'def'
*********************************
-- 4类函数
--1)行集函数:行集函数可以在Transact-SQL语句中当作表引用。
   exec sp_addlinkedserver local
   select * from  openquery(local,'select * from Customers')
--2)聚合函数:除COUNT 函数之外,聚合函数忽略空值。
--聚合函数经常与 SELECT 语句的 GROUP BY 子句一同使用。
--计算 Adventure Works Cycles 的副总所用的平均休假小时数以及总的病假小时数。
--对检索到的所有行,每个聚合函数都生成一个单独的汇总值。
--程序清单如下。
USE AdventureWorks;
GO
SELECT AVG(VacationHours)as 'Average vacation hours',
    SUM  (SickLeaveHours) as 'Total sick leave hours'
FROM HumanResources.Employee
WHERE Title LIKE 'Vice President%'
--窗口函数:
--Transact-SQL提供以下一些Ranking函数:
RANK;DENSE_RANK;NTILE;ROW_NUMBER。
--标量函数:

posted @ 2011-08-18 16:33  jdsbj170  阅读(167)  评论(0编辑  收藏  举报