SQL必知必会

数据库基础——数据库术语
数据库:数据库是一个以某种有组织的方式存储的数据集合。
数据库(database)
保存有组织的数据的容器(通常是一个文件或一组文件)。
数据库软件应称为数据库管理系统(DBMS)。数据库是通过 DBMS 创建和操纵的容器。
表(table)
某种特定类型数据的结构化清单。
模式(schema)
关于数据库和表的布局及特性的信息。
表由列组成。列存储表中某部分的信息。
列(column)
表中的一个字段。所有表都是由一个或多个列组成的。
正确地将数据分解为多个列极为重要。
数据库中每个列都有相应的数据类型。数据类型(datatype)定义了列可
以存储哪些数据种类。
数据类型
所允许的数据的类型。每个表列都有相应的数据类型,它限制(或允
许)该列中存储的数据。
行(row)
表中的一个记录。
表中每一行都应该有一列(或几列)可以唯一标识自己。
主键(primary key)
一列(或一组列),其值能够唯一标识表中每一行。
表中的任何列都可以作为主键,只要它满足以下条件:
 任意两行都不具有相同的主键值;
 每一行都必须具有一个主键值(主键列不允许 NULL 值);
 主键列中的值不允许修改或更新;
 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。

SQL(发音为字母 S-Q-L或 sequel)是 Structured Query Language(结构
化查询语言)的缩写。SQL是一种专门用来与数据库沟通的语言。

编写 SQL语句需要良好地理解基本数据库设计。
SQL必知必会

如果使用 DISTINCT 关键字,它必须直接放在列名的前面。
SQL必知必会

SELECT prod_name
FROM Products
LIMIT 5 OFFSET 5;
所以, LIMIT 指定返回的行数。 LIMIT 带的 OFFSET 指定从哪儿开始。
SQL必知必会

SQL必知必会

SQL必知必会

请注意, DESC 是 DESCENDING 的缩写,这两个关键字都可以使用。与 DESC
相对的是 ASC (或 ASCENDING ),在升序排序时可以指定它。但实际上,
ASC 没有多大用处,因为升序是默认的(如果既不指定 ASC 也不指定
DESC ,则假定为 ASC )。

SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY 2, 3;
SELECT 清单中指定的是选择列的相对位置而不是列名。

通配符搜索只能用于文本字段(字符串),非文本数据类型字段不能使用通配符搜索。
需要特别注意,除了能匹配一个或多个字符外, % 还能匹配 0 个字符。 %代表搜索模式中给定位置的 0个、1个或多个字符
SQL必知必会

SQL必知必会
另一个有用的通配符是下划线( _ )。下划线的用途与 % 一样,但它只匹配单个字符,而不是多个字符。
SQL必知必会
使用通配符的技巧
SQL必知必会
SQL必知必会
SQL必知必会

concat()函数
1、功能:将多个字符串连接成一个字符串。
2、语法:concat(str1, str2,...)
返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null
SQL必知必会
做好注释
SQL必知必会
SQL必知必会
SQL必知必会
SQL必知必会
SQL必知必会

分组是使用 SELECT 语句的 GROUP BY 子句建立的

GROUP BY 子句中列出的每一列都必须是检索列或有效的表达式(但不能是聚集函数)。如果在 SELECT 中使用表达式,则必须在 GROUP BY子句中指定相同的表达式。不能使用别名。
GROUP BY 子句必须出现在 WHERE 子句之后, ORDER BY 子句之前。
关键是,相同的数据出现多次决不是一件好事,这是关系数据库设计的
基础。关系表的设计就是要把信息分解成多个表,一类数据一个表。各
表通过某些共同的值互相关联(所以才叫关系数据库)。
总之,关系数据可以有效地存储,方便地处理。因此,关系数据库的可
伸缩性远比非关系数据库要好。
SQL必知必会

自联结(self-join)、自然联结(natural join)和外联结(outer join)
SQL必知必会

目前为止使用的联结称为等值联结(equijoin),它基于两个表之间的相等测试。这种联结也称为内联结(inner join)。
SQL必知必会

SQL必知必会
SQL必知必会
SQL必知必会
SQL必知必会
SQL必知必会
SQL必知必会
SQL必知必会

SQL必知必会
SQL必知必会

SQL必知必会
SQL必知必会
SQL必知必会