SQL简介
SQL语言是集DDL、DML和DCL于一体的数据库语言。
SQL语言之DDL:定义数据库
SQL语言之DML:操纵数据库
SQL语言之DCL:数据权限控制
SQL语言主要由以下9个单词引导的操作语句来构成,但每一条语句都能表达复杂的操作请求:
(
1)DDL语句引导词:Create、Alter、Drop
模式的定义与删除。包括定义Database、Table、View、Index和完整性约束条件等。
(
2)DML语句引导词:Insert、Delete、Update、Select
各种方式的更新与检索操作。
各种复杂条件的检索。如连接查找、模糊查找、分组查找、嵌套查找等。
各种聚集操作。包括求平均、求和等,也包括分组聚集、分组过滤等。
(
3)DCL语句引导词:Grant、Revoke
安全性控制:授权和撤销授权。
第一节:查询数据
数据库表是存储数据库中所有数据的对象。 在表中,数据按行和列格式逻辑组织,类似于电子表格
(Excel)
在表中,每行代表一个唯一记录,每列代表记录中的一个字段。 例如, customers 表包含客户数据,如
客户标识号,名字,姓氏,电话,电子邮件和地址信息,如下所示:
SQL Server使用模式对表和其他数据库对象进行逻辑分组。 在[示例数据库])( bk_stores )中,有两个
模式: sales 和 production 。 sales 模式将所有与销售相关的表分组,而 production 模式将所有与
生产相关的表分组。
要从表中查询数据,请使用 SELECT 语句。 以下是 SELECT 语句的最基本形式:
SELECT
select_list
FROM
schema_name.table_name;
在上面语法中,
首先, select_list 指定要在 SELECT 子句中查询数据的逗号分隔列的列表。
其次, schema_name.table_name 是在 FROM 子句中指定源表及其模式名称。
处理SELECT语句时,SQL Server首先处理 FROM 子句,然后处理 SELECT 子句,即使SELECT子句首先出
现在查询中也是一样。
使用 SELECT 语句从表中查询数据时,不保证结果集中的行顺序。 这意味着SQL Server可以返回具有未
指定行顺序的结果集。
保证结果集中的行已排序的方法是使用 ORER BY 子句。 以下是 ORDER BY 子句的语法:
SELECT select_list
FROM table_name
ORDER BY [column_name | expression] [ASC | DESC ]
在上面语法中,column_name | expression - 指定要对查询结果集进行排序的列名或表达式。 如果指定多个列,则结果集按第一列排序,然后该排序结果集按第二列排序,依此类推。 ORDER BY 子句中出现 的列必须对应于选择列表中的列或 FROM 子句中指定的表中定义的列。ASC | DESC - 使用 ASC 或 DESC 指定是否应按升序或降序对指定列中的值进行排序。 ASC 将结果 从最低值排序到最高值,而 DESC 将结果集从最高值排序到最低值。如果未明确指定 ASC 或 DESC ,则SQL Server将默认使用 ASC 来排序顺序。 此外,SQL Server将 NULL 视为最低值。处理具有 ORDER BY 子句的 SELECT 语句时, ORDER BY 子句是要处理的最后一个子句。