数据库语法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和数据库连接起来,实现二者的互动。自己对于数据库的理解还只是处于初级阶段,还有更多的知识等着我去学习,不敢在放肆的玩了,要加油,为了我更早的成为大神。

目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
MySQL 数据库基本语法
SQL,全称Structured Query Language(结构化查询语言),是一种用于管理关系型数据库(RDBMS)的编程语言。SQL用于创建、修改、查询和删除数据库中的数据,以及定义数据库架构。它是数据库管理系统(DBMS)与应用程序之间的标准通信协议。
77 6
|
2月前
|
SQL 数据库
sql server中创建数据库和表的语法
sql server中创建数据库和表的语法
19 1
|
6天前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
23 0
|
21天前
|
NoSQL 关系型数据库 MongoDB
非关系型数据库(NoSQL)的语法
【4月更文挑战第11天】NoSQL数据库语法各异,无统一标准。Redis以其多样数据类型(如字符串、散列)和命令式操作(如`SET`、`GET`)为特点,而MongoDB采用类似JavaScript的查询语言,支持复杂操作。适应不同NoSQL数据库需学习相应语法,参考官方文档是最佳实践。
11 3
|
21天前
|
SQL 存储 关系型数据库
关系型数据库的语法
【4月更文挑战第11天】关系型数据库语法主要包括DML(SELECT, INSERT, UPDATE, DELETE)用于数据操作,DDL(CREATE, ALTER, DROP)用于定义数据库结构,DCL(GRANT, DENY, REVOKE)用于权限控制。数据类型如FLOAT, DOUBLE, DECIMAL, DATE/TIME/TIMESTAMP, TEXT, ENUM, SET等满足不同数据存储需求。各DBMS可能存在特定语法和扩展,实际使用需参照官方文档。
12 4
|
8月前
|
SQL 数据处理 数据库
时序数据库 TDengine SQL 查询语法规则汇总,官方教程奉上!
TDengine 采用 SQL 作为查询语言,本文将就部分查询细则做分析。
303 1
|
5月前
|
SQL 关系型数据库 MySQL
MySQL【实践 02】MySQL迁移到PostgreSQL数据库的语法调整说明及脚本分享(通过bat命令修改mapper文件内的SQL语法)
MySQL【实践 02】MySQL迁移到PostgreSQL数据库的语法调整说明及脚本分享(通过bat命令修改mapper文件内的SQL语法)
125 0
|
5月前
|
Java 关系型数据库 MySQL
【五一创作】嵌入式Sqlite数据库【基本语法、Sqlite-JDBC、嵌入到Java程序】
【五一创作】嵌入式Sqlite数据库【基本语法、Sqlite-JDBC、嵌入到Java程序】
|
9月前
|
Oracle 关系型数据库 数据库
一篇文章教你学会使用Oracle 数据库中、WITH 临时表名 AS ()语法
一篇文章教你学会使用Oracle 数据库中、WITH 临时表名 AS ()语法
80 0
|
9月前
|
Oracle 关系型数据库 数据库
一篇文章带你了解Oracle 数据库中 CROSS JOIN(cross join) 语法的作用
一篇文章带你了解Oracle 数据库中 CROSS JOIN(cross join) 语法的作用
328 0