11-03C#基础--数据库之子查询语句

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

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

二、代码分页

三、索引

1、主键

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

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

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

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

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

例:Code int primary identity( 1,-1)

3、外键约束设置

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

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

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

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

方法二:

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

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

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

时间: 2024-10-12 16:15:43

11-03C#基础--数据库之子查询语句的相关文章

【T-SQL基础】03.子查询

本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础]04.表表达式 [T-SQL基础]05.集合运算 [T-SQL基础]06.透视.逆透视.分组集 [T-SQL基础]07.数据修改 [T-SQL基础]08.事务和并发 [T-SQL基础]09.可编程对象 ----------------------------------------------------

SQL Server调优系列基础篇(子查询运算总结)

原文:SQL Server调优系列基础篇(子查询运算总结) 前言 前面我们的几篇文章介绍了一系列关于运算符的介绍,以及各个运算符的优化方式和技巧.其中涵盖:查看执行计划的方式.几种数据集常用的连接方式.联合运算符方式.并行运算符等一系列的我们常见的运算符.有兴趣的童鞋可以点击查看. 本篇我们介绍关于子查询语句的一系列内容,子查询一般是我们形成复杂查询的一些基础性操作,所以关于子查询的应用方式就非常重要. 废话少说,开始本篇的正题. 技术准备 数据库版本为SQL Server2008R2,利用微软

前端学数据库之子查询

查询数据库,当查询条件比较复杂时,常常需要用到子查询.子查询(Subquery)是指出现在其他SQL语句内的SELECT子句.本文将详细介绍子查询 定义 子查询(Subquery)是指出现在其他SQL语句内的SELECT子句 SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2); 其中,SELECT * FROM t1,称为外层查询(Outer Query/Outer Statement),SELECT col2 FROM t2,称为子查询(Su

数据库开发基础-教案-6 子查询

子查询,又叫做嵌套查询. 将一个查询语句做为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询. 子查询有两种类型: 一种是只返回一个单值的子查询,这时它可以用在一个单值可以使用的地方,这时子查询可以看作是一个拥有返回值的函数: 另外一种是返回一列值的子查询,这时子查询可以看作是一个在内存中临时存在的数据表. 新建一个部门表,一个员工表,员工表中每个人员的部门列用部门的编号. 子查询示例: 练习一: 练习二: 练习三: 分页查询语句示例: 查看总共可以分为多

数据库之子查询和事务隔离级别

数据库大的知识点,特此补上.看的还是<漫画数据库>. 一.查询 如果要从一个数据库里面检索出某一字段为最大的数据项,那用什么方法呢?--其实用子查询就可以查到. 1)子查询是查询里面再嵌套查询. people表: 如果我要查询年龄最大的那一行数据项.就可以使用子查询. select * from people where age = (select max(age) from people); 选出people里面的最大年龄,再选出年龄等于最大值的数据. 当然,还有另外一种方法. select

数据库相关常用查询语句

1.查看数据库的版本 select @@version 2.查看数据库所在机器操作系统参数 exec master..xp_msver 3.查看数据库启动的参数 sp_configure 4.查看数据库启动时间 select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1 查看数据库服务器名和实例名 print 'Server Name...............: ' + convert(v

MySql数据库之子查询和高级应用

MySql数据库中的子查询: 子查询:在一条select查询语句中嵌套另一条select语句,其主要作用是充当查询条件或确定数据源. 代码案例如下: 例1. 查询大于平均年龄的学生: select * from students where age > (select avg(age) from students); 例2. 查询学生在班的所有班级名字: select name from classes where id in (select cls_id from students where

SQL Server数据库的T-SQL查询语句

一.SQL简介 在进行数据管理时,使用SSMS进行数据维护有可视化.方便的优点,但是在批量维护或重复维护数据时,每次都需要使用SSMS不但不方便,而且容易出错.通过编写SQL语句来维护数据库便于解决重复或批量维护数据的难题. 1.SQL和T-SQL SQL是Structured Query Language的缩写,即结构化查询语言.SQL广泛地被采用说明了它的优势,它使全部用户,包括应用程序员.数据库管理员和终端用户受益匪浅. 1)非过程化语言 SQL是一个非过程化的语言,因为它一次处理一个记录

mysql基础-数据库多表查询-记录(六)

0x01 MySQL多表查询和子查询 联结查询:事先将两张或者多张表join,根据join的结果进行查询 cross join:交叉联结  用的少, 相当于 (a+b)*(c+d+e) 所得结果的形式   用的少 自然联结  --- 只能在两者相等的情况下才能建立连接 等值联结:把相同的字段进行等值连接 外联结: 左外联接:只保留出现在左外连接元算之前(左边)的关系中的元组(以左表为准,) left_tb LEFT JOIN right_tb ON 条件 右外联接:只保留出现在右外连接元算之后(