轩辕阁 发表于 2016-10-29 10:02:10

SQL语句SQL Server

  
  1.创建表
  create table student(
  sno int,
  sname varchar(8),
  ssex varchar(2),
  sbirth datetime,
  sstate bit
  );
  
  
  create table sex(
  sexno int,
  sexname varchar(2),
  primary key (sexno)
  );
  
  
  create table grade(
  sno int,
  cno int,
  scgrade float
  primary key(sno,cno),
  foreign key (sno) references student(sno),
  foreign key (cno) references course(cno)
  );
  
  
  create table grade(
  sno int,
  cno int,
  scgrade float
  constraint pk_2 primary key(sno,cno),
  constraint fk_1 foreign key (sno) references student(sno),
  constraint fk_2 foreign key (cno) references course(cno)
  );
  
  
  create table course(
  cno int primary key,
  cname varchar(20)
  );
  
  2.修改表
  alter table student alter column sno int not null;
  alter table student alter column ssex int;
  alter table student add constraint pk_1 primary key (sno);
  alter table student drop constraint pk_1;
  
  alter table course drop column cgrade;
  alter table course add cname varchar(20) not null;
  alter table course add cteacher varchar(4);
  
  
  3.插入数据
  insert into student values(1,'yuan',2,'1987-08-10',0);
  insert into student values(2,'hui',2,'1987-08-10',0);
  insert into student values(3,'xian',2,'1987-08-10',0);
  insert into student values(4,'yang',1,'1986-10-17',0);
  insert into student values(5,'feng',1,'1986-10-17',0);
  insert into student values(6,'jiang',1,'1986-10-17',0);
  
  insert into sex values(1,'男');
  insert into sex values(2,'女');
  
  insert into grade values(1,1,80);
  insert into course values(1,'a','a');
  insert into course values(2,'a','a');
  insert into course values(3,'a','a');
  insert into course values(4,'a','a');
  insert into course values(5,'a','a');
  insert into grade values(1,2,70);
  insert into grade values(1,3,60);
  insert into grade values(1,4,50);
  insert into grade values(1,5,40);
  insert into grade values(2,1,50);
  
  4.删除表
  drop table student;
  drop table grade;
  drop table course;
  
  5.查询
  select * from student;
  
  6.删除数据
  delete student;
  
  7.时间函数datediff的应用
  select sbirth,datediff(year,sbirth,getdate()) from student;
  select day(sbirth)from student;
  
  8.去除重复的行
  select distinct ssex from student;
  
  9.查询字段去除转义字符
  where sname like 'hui\_xian' escape '\';
  
  10.排序
  select sname,sbirth from student
  order by sname desc;
  
  11.取查询结果中的部分数据top
  select top 50 percent sname,sno,sbirth from student order by sname desc;
  
  12.聚集函数的应用
  select max(scgrade),avg(scgrade),min(scgrade) from grade
  where sno=1;
  
  13.GROUP BY的应用
  
  Having子句用于对分组后的结果再进行过滤,它的功能有点像Where子句,但它用于
  组而不是单个记录。在Having子句中可以使用聚集函数,但在Where子句中则不能。
  Having通常与Group by子句一起使用。
  select sno,count(cno) from grade
  group by sno 
  having count(*)>2;
  
页: [1]
查看完整版本: SQL语句SQL Server