`
taodongjie2012
  • 浏览: 5471 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SQL Cookbook 第一章:检索记录 20140314

阅读更多

1.连接列值:将多列值作为一列返回。

--DB2,Oracle:是用双竖线作为连接运算符。

--MySQL:支持concat函数。

select concat(ename,' works as a ',job) as msg from table where deptno=10

 

--SQL Server:使用+运算符进行连接操作。

select ename+' works as a '+job as msg from table where deptno=10

 

 

1.8、在select 语句中使用条件逻辑:要在select语句中对数值执行IF-ELSE 操作。

--使用CASE表达式直接在SELECT语句中执行条件逻辑。

 

例:如果一个小员工工资<=2000,返回‘UNDERPAID’; 如果>=4000,返回‘OVERPAID’;如果在两者之间,返回‘OK’

 

select ename, sal,

case when sal<=2000 then 'UNDERPAID'

WHEN sal>=4000 then 'OVERPAID'

else 'OK'

end as status

from emp 

 

1.9、限制返回的行数:限制查询中返回的行数,这里不关心顺序。

--DB2: select * from emp fetch first 5 rows only

--MySQL: select * from emp limit 5

--Oracle: select * from emp where rownum<=5

--SQL Server: select top 5 * from emp

 

 

1.10、从表中随机返回n条记录

--在ORDER BY 字句中使用该函数,对行进行随机排序。

 

--DB2:同时使用内置函数RAND 与ORDER BY 和FETCH

select ename, job from emp order by rand() fetch first 5 rows only

--MYSQL: 同时使用内置的RAND函数、LIMIT、和ORDER BY

select ename,job,from emp order by rand() limit 5

--Oracle: 同时使用DBMS_RANDOM 中内置函数VALUE、ORDER BY 和内置函数ROWNUM:

select * from 

(select ename,job from emp order by dbms_random.value()) 

where rownum<=5

--SQL Server:同时使用内置函数NEWID, TOP,和ORDER BY 返回随机结果集:

select top 5 ename,job from emp order by newid()

 

--总结:1)ORDER BY 字句可以接受函数的返回值,并使用它来改变结果集的次序。

2)ORDER BY 子句中指定数字常量时,是要求根据SELECT列表中相应位置的列来排序。

3)ORDER BY 子句中使用函数时,则按函数在每一行计算结果排序。

 

 

 

1.11、查找空值:要查找某列值为空的所有行。

--要确定值是否为空,必须使用IS NULL 或者IS NOT NULL.

select * from emp where comm is null

 

1.12、将空值转换为实际值

--使用COALESCE函数用实际值来替换空值, 多个参数时返回第一个非空值。

select coalesce(comm,0) from emp

 

--使用CASE:

select case 

when comm is null them 0 

else comm

end

from emp

 

 

1.13、按模式搜索

--需要返回匹配特定子串或模式的行。

--使用LIKE运算符合SQL 通配符“%”。

 

例:在部门10和部门20需要返回名字中有一个“I”或者职务(Job title)中带“ER”的员工。

select ename,job 

from emp

where deptno in (10,20) and

(ename like '%I%' or job like '%ER')

 

 

 

 

 

分享到:
评论

相关推荐

    SQL.Cookbook(中文高清PDF)

    SQL.Cookbook 《SQL Cookbook中文版》中的SQL 是计算机世界的语言,在用关系数据库开发报表时,将数据放入数据库以及从数据库中取出来,都需要SQL 的知识。很多人以一种马马虎虎的态度在使用SQL,根本没有意识到...

    SQL Cookbook.pdf

    《SQL Cookbook.pdf》这本书是关于SQL查询的一本实用指南,主要针对MySQL数据库系统。SQL(Structured Query Language)是用于管理关系数据库的标准语言,包括数据查询、更新、插入和删除等操作。这本书旨在帮助读者...

    SQL COOKBOOK 初始数据

    4. 查询数据:SQL的核心功能之一就是查询。`SELECT`语句让你能够从一个或多个表中检索数据。通过组合`WHERE`子句来设置条件,可以过滤出特定的数据。 5. 更新数据:当需要更改已存在的数据时,使用`UPDATE`语句。...

    SQL COOKBOOK(压缩1/2)

    第1章 检索记录 1.1从表中检索所有行和列 1.2从表中检索部分行 1.3查找满足多个条件的行 1.4从表中检索部分列 1.5为列取有意义的名称 1.6在WHERE子句中引用取别名的列 1.7连接列值 1.8在SELECT语句中使用...

    sql cookbook(SQL经典)

    2. **数据类型**:SQL支持多种数据类型,如整型(INTEGER)、浮点型(FLOAT)、字符串(VARCHAR)、日期/时间(DATE, TIME, TIMESTAMP)等,正确选择数据类型对于存储和检索数据至关重要。 3. **命名规则**:表名、...

    SQL Cookbook中文版本

    ### SQL Cookbook中文版知识点概述 #### 一、SQL基础知识与语法 **1.1 SQL简介:** SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言。它被广泛应用于数据查询、更新、定义和控制等方面。 ...

    SQL COOKBOOK 英文版

    《SQL Cookbook》英文版是一本深受软件开发人员和数据库管理员(DBA)喜爱的实用指南。这本书涵盖了Oracle、SQL Server和MySQL等主流数据库系统的SQL语法和实例,旨在提高读者在处理数据查询、分析和管理时的效率。 ...

    SQL Cookbook.zip

    12. **数据库设计**:良好的数据库设计包括范式理论的理解,如第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等,以及反规范化(Denormalization)的概念,以平衡数据冗余和查询性能。 通过《SQL Cookbook》的...

    SQL Cookbook(英文版)

    2. **选择与投影**:SQL查询的核心在于SELECT语句,它用于从数据库中检索信息。书中会讲解如何选择特定列(投影),如何组合多个表(JOIN),以及如何过滤数据(WHERE子句)。 3. **排序与分组**:ORDER BY和GROUP ...

    SQL Cookbook中文版

    例如,假如你有一个特定的业务问题要解决,目前只用SQL检索数据,而其他复杂的业务逻辑由其他语言完成,如果代码没有问题,而且性能也过得去,那么,谢天谢地。我绝对无意建议你扔掉以前的代码重新寻求完全SQL 的...

    SQL Cookbook 带书签中文清晰版

    1. **基础查询**:SQL的基础在于SELECT语句,用于从表中选取数据。包括对单个或多个字段的查询,使用WHERE子句进行条件筛选,以及ORDER BY子句进行排序。 2. **联接操作**:JOIN语句用于合并来自两个或更多表的数据...

    ORACLE__SQL.pdf SQL.Cookbook.pdf

    "SQL.Cookbook.pdf"可能是一本实用的SQL问题解决方案集,它通常包含各种实际场景下的SQL查询示例和最佳实践: 1. **查询技巧**:提供解决特定查询问题的“食谱”,如聚合函数、窗口函数、集合运算和联接策略。 2. ...

    DB2 UDB V9.1 SQL Cookbook

    《DB2 UDB V9.1 SQL Cookbook》是一本面向DB2通用数据库9.1版本的专业教程,由Graeme Birchall撰写。本书为DB2用户提供了丰富的SQL示例和解决方案,适用于Windows、Unix、Linux等操作系统。对于运行在z/OS系统上的...

    SQL COOKBOOK(压缩2/2)

    第1章 检索记录 1.1从表中检索所有行和列 1.2从表中检索部分行 1.3查找满足多个条件的行 1.4从表中检索部分列 1.5为列取有意义的名称 1.6在WHERE子句中引用取别名的列 1.7连接列值 1.8在SELECT语句中使用...

    SQL Cookbook 中文清晰版带标签

    1. **数据查询**:SQL最常用的功能之一就是从数据库中检索特定的数据。 2. **数据更新**:允许用户修改已有的数据记录。 3. **数据插入**:向数据库表中添加新的数据行。 4. **数据删除**:从数据库中移除不再需要的...

Global site tag (gtag.js) - Google Analytics