11-03SQLserver基础--子查询语句

一、子查询--查询的嵌套(重点记忆)

   select bumen,COUNT(*) from haha group by bumen having COUNT(*)>=5

   select MAX(age)from haha where bumen='销售部'

   select*from haha where bumen='销售部'and age =35

 --汇总--

  select MAX(age)from haha where bumen in (

   select bumen from haha group by bumen having COUNT(*)>=5

   )

   --参数(数值)必须是在只有1个的前提下才能用‘=’,如果参数大于1,就要用in(在...范围);

   select*from haha where age=(

    select MAX(age)from haha where bumen in (

   select bumen from haha group by bumen having COUNT(*)>=5

   )

   )

   and bumen=(select bumen from haha group by bumen having COUNT(*)>=5)

  select top 5* from haha order by age

  

  select *from haha where code not in (

   select top 5 code from haha order by age--查询出这一列当作参数来用,用括号;

   )

 

 --查找男同志里面年龄最大的全部信息

 select *from haha where age=(select MAX(age)from haha where sex='')and sex=''

 select top 1* from haha where sex='' order by age desc

 

--查找人数最多的部门的人中35岁的人的信息

select* from haha where bumen =( select top 1 bumen  from haha group by bumen order by COUNT(*) desc )and age=35

二、代码分页

11-03SQLserver基础--子查询语句_第1张图片11-03SQLserver基础--子查询语句_第2张图片

三、索引

1、主键

设置主键不能为空值,具备唯一标识性,是为了防止录入错误,设置了主键,减慢了新增数据的速度,但大大提高了查询的效率。

方法一:在“对象资源管理器”中选中要设置主键的表,右键点击“设计”,弹出的窗口中,右击该表设计器里列名前面的小三角--选“设置主键”即可。

方法二:查询语句中代码查询,在一个表中写查询语句时将要在设置主键的列名+数据类型后面+primary key;例如,code int primary key

2、自增长 identity  一般不设置为自增长

Code int primary identity( ab)--都有固定的索引,前面的a是指从a开始自增长,后面b是指增长几;

例:Code int primary identity( 1-1)

11-03SQLserver基础--子查询语句_第3张图片

3、外键约束设置

是为了方便表与表之间的查询,提高查询效率,一般与主键同时起作用。

注:设置主键与外键的时候,受约束的列与主键的数据类型要一致才能用。

方法一:查询语句代码:在要设置外键的表中选择同主键有唯一联系的列+数据类型后面+references[dbo].[主键表名称] ([主键列名]) 

bumen int references[dbo].[bumen] ([code]) 设置外键

方法二:

第一步,在某个要成为外键的表设计器中右击列名前的小三角,单击“关系”;

11-03SQLserver基础--子查询语句_第4张图片

 

第二步:弹出“外键关系”窗口,在“表和列规范”这里单击。

11-03SQLserver基础--子查询语句_第5张图片

 

 

4、数据库关系图:当成功设置主键和外键的表之间快就会存在一种关系。

 

11-03SQLserver基础--子查询语句_第6张图片

 

 

 

你可能感兴趣的:(sqlserver)