1、将两个表连接时,如果要显示具有相同列的属性,要指定是哪个表的列:
string sql = "select 姓名=sName,学号=studentInfo.sNo,语文=sChinese from studentInfo
join studentScore on studentScore.sNo=studentInfo.sNo ";
2,查询某列是否有相同的值:
(1)按照姓名分组(就是查询的那一列),查找出个数大于1的姓名和个数。
select name,count(*) from spt_values group by name having count(*)>1;
3 创建数据库
(1)在sql2000自带的master数据库中有个表sysdatabases,这个表保存了所有在本地创建的数据库,通过查询这个表
可以知道有哪些数据库已经存在。
在sql 2005中,这个表存在“视图”中,同样可以使用表名sysdatabases进行查询。
(2)有时候需要在客户端安装软件,需要数据库,但是可能本地已经存在,这时可以查询sysdatabases表,如果本地
已经存在这个表,就删除。下面这条语句就是:
use master go if exists(select * from sysdatabases where name='student') drop database student go
drop可以彻底删除数据库,delete不能删除数据库,可以删除表,但是仅仅是删除记录而已,drop是彻底删除。
(3)创建数据库
View Code
--系统数据库master中保存了所有本地数据库的名字 use master go if exists(select * from sysdatabases where name='student') drop database student --如果数据库存在就删除 go create database student --数据库名 on ( --使用的是小括号 name='student', --数据库逻辑名 filename='E:\Data\student.mdf', --数据库文件存放路径,注意路径用\不是/ size=10mb, --数据库初始大小 maxsize=100mb, --数据库最大文件大小 filegrowth=5mb --增长幅度 ) log on --日志文件 ( name='student_log', --日志逻辑名 filename='E:\Data\student_log.ldf', --日志文件路径 size=5mb, maxsize=100mb, filegrowth=5mb ); go --注意,分开创建 use student create table T_Class ( classid int identity(1,1) not null, name nvarchar(8) not null, primary key ( classid ) --主键 ); create table T_StuInfo ( stuid int primary key identity(1,1) not null, --主键,递增 name nvarchar(8) not null, phone nvarchar(11), classid int not null, foreign key (classid) references T_Class(classid) --定义外键,外键是其他表的主键 );