加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLSERVER 学习笔记(四)索引 join 子查询 行号

发布时间:2020-12-12 14:03:04 所属栏目:MsSql教程 来源:网络整理
导读:索引: 经常用 where 进行查询的才需要建索引,主键自动有索引。 索引能够提高搜索的效率,但是索引占用空间,同时会降低 insert?update?delete 等修改的效率。 即使创建了索引,仍有可能全表扫描,如 like? 函数?类型转换等。 手动添加方法:?在表上?右键 -

索引:

经常用where进行查询的才需要建索引,主键自动有索引。

索引能够提高搜索的效率,但是索引占用空间,同时会降低insert?update?delete等修改的效率。

即使创建了索引,仍有可能全表扫描,如like?函数?类型转换等。

手动添加方法:?在表上?右键-设计-在列上点索引/键?添加索引,选择字段。


join的用法?

先建立两个表

create?table?T_Customers(Id?int,Name?nvarchar(50));

alter?T_Customers?add?Age?;

insert?into?IdNameAge)?values(1N'tom'),(2N'jerry'3N'john'

(4N'lily'5N'lucy');


T_OrdersBillNo?CustomerId?);

BillNoCustomerIdN'001'N'002')

N'003'4N'004'N'005'select?*?from?显示所有订单的客户名称

select?o.cAge

T_Orders?as?o?join?c?on?=Id?

order?by?ASC;

--显示所有年龄大于岁的顾客订单

BillNo

where?>15?--显示所有年龄大于平均年龄的顾客订单使用了子查询

BillNo

Id?

>(select?AVG);?


子查询

将一个查询语句作为结果集供其他SQL语句使用

单值一行一列作为子查询

SELECT?SELECT?MINFYearPublishedT_Book最新的书MAX最旧的书

多行单列子查询

查询书出版那一年读者入会信息

T_Reader?

FYearOfJoin?in

(

FYearOfPublished??;

);



ROW_NUMBER()?行号?

显示-5行的数据

但是ROW_NUMBER()不能出现在where但是还是有办法

from

(

over?ORDER?BY?FSalary?DESC)rownumFNumberFSalaryFAge

T_Employ

e1

e1>=3?and?<=5;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读