数据库语法01
2018-06-22 06:39:36来源:未知 阅读 ()
数据库的一些基本命令和小练习
练习1 eg:
有一张表T_Scores,记录比赛成绩
Date Name Score
2008-8-8 拜仁 胜
2008-8-9 奇才 胜
2008-8-9 湖人 胜
2008-8-10 拜仁 负
2008-8-8 拜仁 负
2008-8-12 奇才 胜
要求输出下面的格式 <注:在中文字符串前面加N,比如N‘胜’>
Name 胜 负
拜仁 1 2
湖人 1 0
奇才 2 0
代码:1:
<一步一步慢慢实现>
select Name,
(
case Score
when N'胜' then 1
else 0
end
)as 胜,
(
case Score
when N'负' then 1
else 0
end
) as 负
from Scores
代码:2
select Name,
SUM(
case Score
when N'胜' then 1
else 0
end
)as 胜,
SUM(
case Score
when N'负'then 1
else 0
end
)as 负
from Scores
group by Name
<实现要求的输出,如上面的代码2所示。>
索引学习<index>
全表扫描:对数据进行检索(select)效率最差的是全表扫描,一条条的找。
**目录就是索引。
**创建索引的方式
----表—右键--创建索引---添加--在列中选择索引包含的列--确定。
**使用索引能提高查询效率但是其占空间,而且添加,更新,删除数据时需要同步索引,因此
会降低速度。只在经常检索的字段上面创建索引。
(*)即使创建了索引,有时也需要全表扫描,比如like,函数,类型转换等。
表连接 <join>
Join用法:
主要有Inner Join 及 Outer Join:
最常用的(默认是Inner):
Select <要选择的字段> From <主要资料表>
<Join 方式> <次要资料表> [On <Join 规则>]
Inner Join 的主要精神就是 exclusive , 叫它做排他性吧! 就是讲 Join 规则不相符的资料就会被排除掉, 譬如讲在 Product 中有一项产品的供货商代码 (SupplierId), 没有出现在 Suppliers 资料表中, 那么这笔记录便会被排除掉
Outer Join:
Select <要查询的字段> From <Left 资料表>
<Left | Right> [Outer] Join <Right 资料表> On <Join 规则>
语法中的 Outer 是可以省略的, 例如你可以用 Left Join 或是 Right Join, 在本质上, Outer Join 是 inclusive, 叫它做包容性吧! 不同于 Inner Join 的排他性, 因此在 Left Outer Join 的查询结果会包含所有 Left 资料表的资料, 颠倒过来讲, Right Outer Join 的查询就会包含所有 Right 资料表的资料
子查询
将一个查询语句作为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询. <可以使用表的地方都可以使用子查询来代替>
select * from
(select * from Student where Age>20)
as 姓名
<只有返回且仅返回一行,一列数据的子查询才能当成单值子查询>
select rom_number() over( order by Age DESC) as romnum
Name,Age,Chinese,Math from Student
<rom_number>不能应用在Where语句的查询中。
********这一阶段的数据库看完了,自己也掌握了很多的数据库的查询,建表,更新,删除等语句,下面应该就是ADO.NET的学习,这个就是要把vs和数据库连接起来,实现二者的互动。自己对于数据库的理解还只是处于初级阶段,还有更多的知识等着我去学习,不敢在放肆的玩了,要加油,为了我更早的成为大神。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:在线银联之实例操作
下一篇:职责链模式---设计模式(19)
- 详解asp.net mvc CodeFirst模式数据库迁移步骤 2019-12-14
- asp.net实现access数据库分页的方法 2019-12-13
- ASP.NET连接 Access数据库的几种方法 2019-11-29
- 详解Discuz!NT数据库读写分离方案 2019-09-17
- 如何在C#中使用SQLite数据库 2019-08-26
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash