数据库语法01

简介: 数据库语法01

数据库的一些基本命令和小练习


练习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

131321056503472.png


代码: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

131321067594443.png


<实现要求的输出,如上面的代码2所示。>


索引学习



全表扫描:对数据进行检索(select)效率最差的是全表扫描,一条条的找。

**目录就是索引。


**创建索引的方式

 ----表—右键--创建索引---添加--在列中选择索引包含的列--确定。


**使用索引能提高查询效率但是其占空间,而且添加,更新,删除数据时需要同步索引,因此


会降低速度。只在经常检索的字段上面创建索引。


    (*)即使创建了索引,有时也需要全表扫描,比如like,函数,类型转换等。

表连接 <join>

 

Join用法:


主要有Inner Join 及 Outer Join:


最常用的(默认是Inner):


Select <要选择的字段> From <主要资料表>


 <次要资料表> [On ]


Inner Join  的主要精神就是 exclusive , 叫它做排他性吧! 就是讲 Join 规则不相符的资料就会被排除掉, 譬如讲在 Product  中有一项产品的供货商代码 (SupplierId), 没有出现在 Suppliers 资料表中, 那么这笔记录便会被排除掉


Outer Join:


Select <要查询的字段> From  


 [Outer] Join  On  


语法中的 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 

不能应用在Where语句的查询中。


********这一阶段的数据库看完了,自己也掌握了很多的数据库的查询,建表,更新,删除等语句,下面应该就是ADO.NET的学习,这个就是要把vs和数据库连接起来,实现二者的互动。自己对于数据库的理解还只是处于初级阶段,还有更多的知识等着我去学习,不敢在放肆的玩了,要加油,为了我更早的成为大神。

目录
相关文章
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库基础第一篇(SQL通用语法与分类)
MySQL数据库基础第一篇(SQL通用语法与分类)
|
6月前
|
存储 关系型数据库 MySQL
MySQL数据库的数据类型、语法和高级查询
MySQL数据库的数据类型、语法和高级查询
88 0
|
2月前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
2月前
|
自然语言处理 关系型数据库 MySQL
MySQL数据库使用Match语法需要安装什么插件吗?
【10月更文挑战第1天】MySQL数据库使用Match语法需要安装什么插件吗?
81 0
|
7月前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
105 0
|
4月前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
511 0
|
6月前
|
关系型数据库 数据库 PostgreSQL
PostgreSQL数据库的字符串拼接语法使用说明
【6月更文挑战第11天】PostgreSQL数据库的字符串拼接语法使用说明
661 1
|
7月前
|
SQL 存储 数据库
SQL数据库基础语法-增删改
SQL数据库基础语法-增删改
SQL数据库基础语法-增删改
|
6月前
|
SQL 存储 关系型数据库
MySQL数据库案例实战教程:数据类型、语法与高级查询详解
MySQL数据库案例实战教程:数据类型、语法与高级查询详解
95 3
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(3)-索引语法(创建索引、查看索引、删除索引、案例演示),SQL性能分析(SQL执行频率,慢查询日志)
MySQL数据库——索引(3)-索引语法(创建索引、查看索引、删除索引、案例演示),SQL性能分析(SQL执行频率,慢查询日志)
78 2