码迷,mamicode.com
首页 > 数据库 > 详细

SQL 基础1

时间:2014-12-11 20:44:39      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   使用   sp   strong   on   

 

 

 1  use myDB;
 2  insert into student values(1134110116,Tom,,22,上海,18272986984,上海);
 3  insert into student values(1134110117,Tom1,,23,江苏,18272985173,南京);
 4  insert into student values(1134110118,Tom2,,22,上海,18272983394,上海);
 5  insert into student values(1134110119,Tom3,,21,上海,18272986982,上海);
 6  insert into student values(1134110120,张三,,22,江苏,18272982356,无锡);
 7  insert into student values(1134110121,张玲,,21,江苏,18272987878,苏州);
 8  insert into student values(1134110122,张小旭,,23,江苏,18272986981,盐城);
 9  insert into student values(1134110123,李辰,,21,湖北,18272986985,武汉);
10  insert into student values(1134110101,李斯,,22,湖北,18272986986,黄冈);
11  insert into student values(1134110102,李小胖,,22,河北,18272986986,邯郸);
12  insert into student values(1134110103,赵小刚,,23,湖北,18272986986,武汉);
13  insert into student values(1134110104,李诗涵,,22,河北,18272986986,石家庄);
14   
15  delete from student;  

 

select 

select ‘34‘+‘34df‘; --结果:3434df
select 3/2; -- 1

 1 select top 3  * from student order by stucode;
 2  
 3  select distinct province from student ;
 4  
 5  --group by
 6  select sex ,COUNT(*) 人数 from student group by sex; 
 7  select province ,COUNT(*)as 人数 from student group by province; 
 8  
 9  select name from student where name like [张李]_; --查找名字为二个字的 姓张 和 姓李 的人 
10  
11 /* COMPUTE子句使用集合函数在查询的结果集中生成汇总行。COMPUTE BY子句用于增加各列汇总行。
12 [Compute
13 {
14 {Avg | count | max | min | stdev | stdevp| var | varp | sum  (expression)}[,…n]
15 [by expressin [,….]]}]
16 */
17  select * from student order by province compute sum(age);
18  select * from student order by province compute avg(age) by province;
19  

 

update:

 

1 --update
2  update student set name=helen,age=21 where name=tom;
3  update student set name=helen,age=21,sex= where name like tom%;
4  update student  set  age = age +1;

 

函数:

 1 /*日期函数*/
 2  SELECT DATEPART(month, GETDATE())  AS  Month Number;  -- 12
 3  SELECT DATEPART(YYYY, GETDATE())  AS  year;  -- 2014
 4  SELECT DATEPART(MM ,GETDATE())  AS  Month Number;  --12
 5  SELECT DATEPART(YEAR ,GETDATE())  AS  year;  --2014
 6  select GETDATE()as 今年, DATEADD (YEAR,3,GETDATE()) as 三年后; --2014-12-11 08:41:21.493   2017-12-11 08:41:21.493
 7  select GETDATE();     --2014-12-11 08:40:12.800
 8  
 9  select DATENAME(Weekday,2014-12-11) as weekday; --星期四
10  select DATENAME(day,GETDATE()) as day; --11
11  select DATENAME(YEAR ,GETDATE()) as year; --2014
12  SELECT DATENAME(month, getdate()) AS Month Name; --12
13  select DATEDIFF(DAY,2014/12/16,2014/12/11);   -- 5
14  SELECT MONTH(2014/12/10) as 月, DAY(2014/12/10) as 日,YEAR(2014/12/10) 年;
15  SELECT MONTH(5/29/2003) as 月, DAY(5/29/2003) as 日,YEAR(5/29/2003) 年;
16  
17  
18  /*数学函数*/
19  select  ceiling(13.4),  floor(13.4),  round(13.4567,3);  --14  13   13.4570
20  --select age as ‘年龄‘ from student where CAST(age as char(20))  like ‘%1‘;
21  select REVERSE(name) from student where name like Tom%;  --mot
22  
23  SELECT COL_NAME(OBJECT_ID(student), 2);  -- name

 

select name,province from student where province in (select province from student where name=张三) and name!=张三; --查找与 张三 籍贯相同的人的姓名 及籍贯;

/*自连接*/
select t1.name,t1.province from student t1 join student t2 on t1.province=t2.province where t2.name=张三 and  t1.name!=张三; --查找与 张三 籍贯相同的人的姓名 及籍贯;   或

select t1.name,t1.province from student t1 ,student t2   where t1.province=t2.province and t2.name=张三 and  t1.name!=张三; --查找与 张三 籍贯相同的人的姓名 及籍贯;
select * from student;

 

 

 

 1 declare @sum int,@count int
 2 select @sum=0, @count=1
 3 while @count<5
 4 begin
 5   set @sum=@sum+@count;
 6   set @count=@count+1;
 7 end
 8 select @count,@sum;
 9 --print @sum;
10    

 

 

存储过程:

/*存储过程*/
Create  procedure selectBySex 
as
select * from student where sex=
--执行
exec selectBySex


Create  procedure selectBySexWithInput
 @sex char(10) 
as
select * from student where sex=@sex;

exec selectBySexWithInput  @sex=


create procedure selectCountWithOutput 
 @count int output
 as
 declare @boy int ,@girl int
 select @boy=COUNT(*) from student where sex=;
 select @girl=COUNT(*) from student where sex=;
 select @count=ABS(@boy-@girl);
 
declare @count int 
Exec selectCountWithOutput @count output
print @count;
--select @count as ‘男女生人数之差‘;

 

SQL 基础1

标签:style   blog   io   ar   color   使用   sp   strong   on   

原文地址:http://www.cnblogs.com/thrive/p/4158400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!