SQL学习指南 ——笔记】的更多相关文章

前言:每章的练习题很实用,跟着练了一遍.答案附录有 1.流行的商业级关系数据库:…
Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source Code)转换成目标代码(object code),便能直接通过计算机来执行. 编译型语言的好处是高效,缺点是:他们多半运作于底层,所处理的是字节.整数.浮点数或是其他机器层级的对象.而脚本语言Shell通常是解析型(interpreted)的.这类程序的执行,是由解析器(interpreter)读入…
把一些读书的理解通过白板图的形式展示出来,加深自己的认识, 因为目前没有工程项目练手,暂时在学习中把这些知识深化认识一下…
SQL必知必会(第4版)学习笔记 插入数据 插入有几种方式: 插入完整的行 插入行的一部分 插入某些查询的结果(INSERT SELECT) 注意:省略列 如果表的定义允许,则可以在 INSERT 操作中省略某些列.省略的列必须满足以下某个条件: 该列定义为允许 NULL 值(无值或空值),注:创建表时,如果不指定 NOT NULL,就认为指定的是 NULL. 在表定义中给出默认值.这表示如果不给出值,将使用默认值. 如果表中不允许有 NULL 值或者默认值,这时却省略了表中的值,DBMS 就会…
再谈连接 外连接 之前的范例都是没有考虑条件可能无法为表中的所有行匹配的问题 左外连接与右外连接 SELECT a.account_id, a.cust_id, b.name FROM account a LEFT OUTER JOIN business b ON a.cust_id = b.cust_id; 外连接包括第一个表的所有行,但仅仅包含第二个表中那些匹配行的数据.关键字 left 指出连接左边的表决定结果集的行数,而右边只负责提供与之匹配的列值.因此,如果想要通过表 A 和 B 外连…
使用集合 union操作符(组合查询) 多数 SQL 查询只包含从一个或多个表中返回数据的单条 SELECT 语句.但是,SQL 也允许执行多个查询(多条 SELECT 语句),并将结果作为一个查询结果集返回.这些组合查询通常称为并(union)或复合查询(compound query).主要有两种情况需要使用组合查询: 在一个查询中从不同的表返回结构数据 对一个表执行多个查询,按一个查询返回数据 提示:组合查询和多个 WHERE 条件 多数情况下,组合相同表的两个查询所完成的工作与具有多个 W…
查询语句 select语句由几个组件或者说子句构成.不过在MySQL中,只有一种子句是必不可少的(select子句),通常的查询语句会至少包含6个子句中的2~3个.下面的表列出了用于不同目的的各个子句.请注意,SQL 语句不区分大小写,因此 SELECT 与 select 是相同的. 子句名称 使用目的 select 确定结果集中应该包含哪些列 from 指明所要提取数据的表,以及这些表是如何连接的 where 过滤不需要的数据 group by 用于对具有相同列值的行进行分组 having 过…
1.FOUND_ROWS() 题目: ,; 在上边sql中使用什么选项可以使 SELECT FOUND_ROWS()忽略LIMIT子句,返回总数? *答案* : SQL_CALC_FOUND_ROWS SELECT SQL_CALC_FOUND_ROWS * FROM `table`  LIMIT 20,10; SELECT FOUND_ROWS(); 分析: 老实讲,在看到这个题目之前,我不知道found_rows()的用法. 那么既然我们接触到了,就来简单了解一下,found_rows()究…
SQL语句的效率不仅是sql语句的设计还有一些其他的原因比如网络 .是否有视图.是否有索引等等.这里主要描述的是我个人对于sql设计方面优化的一些见解: 首先要说明一下的是数据库SQL解析顺序: (1)from:可以理解为检查表是否存在 (2)where : {index->否则正常读取->查找到后去看group by->存在即放在临时表中 (有些交错执行)} having属性 (3)select : 查询优化需要做的是养成良好的sql习惯: 使用表的别名: 不要跨用户访问表: 具体化每…
1.缺失子句 now() 是MySQL的内建函数,返回当前的日期和时间.在MySQL中可以直接使用下列语句查询: SELECT NOW(); 但是某些数据库规定查询语句必须包含 from 子句,并在其中至少指定一个表名,比如广泛使用的 Oracle 数据库. 这时如果仅仅需要调用一个函数,Oracle 为此提供了一个特殊的表 dual,该表只包含一个名为 dummy(虚拟的)的列,并且只会有一个数据行. 为了能与 Oracle 数据库保持兼容,MySQL 也提供了 dual 表,所以当前时间查询…