摘要:
系统中安全性是非常重要的,为了保证安全性很多解决方案被应用到系统中,比如架设防火墙防止数据库服务器直接暴露给外部访问者、使用数据库的授权机制防止未授权的用户访问数据库,这些解决方案可以很大程度上避免了系统受攻击,但是如果开发人员不注意SQL的安全性造成了SQL注入漏洞,那么所有的这些解决方案都形同虚 阅读全文
摘要:
内部连接要求组成连接的两个表必须具有匹配的记录,T_Order表中的数据如下: 使用内部连接可以查询每张订单的订单号、价格、对应的客户姓名以及客户年龄,SQL语句如下: 执行以后我们在输出结果中看到下面的执行结果: 仔细观察我们可以看到T_Order表中有7行数据,而通过上面的内部连接查询出来的结果 阅读全文
摘要:
几乎所有的数据库系统都支持左外部连接和右外部连接,但是全外部连接则不是所有数据库系统都支持,特别是最常使用的MYSQL就不支持全外部连接。全外部连接是左外部连接和右外部连接的合集,因为即使在右表中不存在匹配连接条件的数据,左表中的所有记录也将被放到结果集中,同样即使在左表中不存在匹配连接条件的数据, 阅读全文
摘要:
到目前为止,我们讲解的连接都是在不同的数据表之间进行的,其实参与连接的表完全可以是同一样表,也就是表与其自身相连接,这样连接就被称为自连接。自连接并不是独立于交叉连接、内连接、外连接等这些连接方式之外的另外一种连接方式,而只是这些连接方式的一种特例,也就是交叉连接、内连接、外连接等连接方式中只要参与 阅读全文
摘要:
到目前为止,本书中所有的连接几乎都是等值连接,也就是在这种连接的ON子句的条件包含一个等号运算。等值连接是最常用的连接,因为它指定的连接条件是一个表中的一个字段必须等于另一个表中的一个字段。 处理等值连接,还存在另外一种不等值连接,也就是在连接的条件中可以使用小于(<)、大于(>)、不等于(<>)等 阅读全文
摘要:
与内连接比起来,交叉连接非常简单,因为它不存在ON子句。交叉连接会将涉及到的所有表中的所有记录都包含在结果集中。可以采用两种方式来定义交叉连接,分别是隐式的和显式的。 隐式的连接只要在SELECT语句的FROM语句后将要进行交叉连接的表名列出即可,这种方式可以被几乎任意数据库系统支持。比如下面的SQ 阅读全文
摘要:
内连接组合两张表,并且基于两张表中的关联关系来连接它们。使用内连接需要指定表中哪些字段组成关联关系,并且需要指定基于什么条件进行连接。内连接的语法如下: 其中table_name 为被关联的表名,condition则为进行连接时的条件。 下面的SQL语句检索所有的客户姓名为MIKE的客户的订单号以及 阅读全文
摘要:
使用目前所介绍的SQL知识,我们仅能够从一张数据表中检索数据,这在很多情况下是不能满足要求的,因为经常需要从多个表中进行检索才能得到想要的数据,SQL中的“表连接”就是用来解决这个问题的。表连接使用JOIN关键字将一个或者多个表按照彼此间的关系连接为一个结果集。 表连接在SQL中的地位是非常重要的。 阅读全文
摘要:
到目前为止,我们讲解的数据查询都是针对单张数据表的,但是在真实的业务系统中,各个表之间都存在这种联系,很少存在不与其他表存在关联关系的表,而在实现业务功能的时候也经常需要从多个表中进行数据的检索,而进行多表检索最常用的技术就是表连接。 为了更容易的运行本章中的例子,必须首先创建所需要的数据表,因此下 阅读全文
摘要:
第一范式要求每张表都要有主键,因此主键约束是非常重要的,而且主键约束是外键关联的基础条件。主键约束为表之间的关联提供了链接点。 主键必须能够唯一标识一条记录,也就是主键字段中的值必须是唯一的,而且不能包含NULL 值。从这种意义上来说,主键约束是UNIQUE 约束和非空约束的组合。虽然一张表中可以有 阅读全文