一、检索记录

作者: 天蓝色的彼岸007 | 来源:发表于2019-05-29 22:24 被阅读7次

1.1从表中检索所有行和列

    select * from emp;

1.2从表中检索部分行

select empno,ename,job,sal,mgr,hiredate,comm,deptno from emp;

1.3查找满足多个条件的行

select * from emp where deptno=10

select * from emp where deptno=10 or comm is not null or sal<= 2000 and deptno = 20

select * from emp where (deptno=10 or comm is not null or sal<= 2000) and deptno = 20

1.4从表中检索部分列

select ename,deptno,salfrom emp

1.5为列取有意义的名称

select sal as salary,comm as commission from emp

1.6在WHERE子句中引用取别名的列 将查询作为内联视图就可以引用其中区别的列了:

select * from   (select sal as salary,comm as commission   from emp) x where salary < 5000

1.7连接列值

DB2 Oracle PostgreSQL:这些数据库使用双竖线作为连接运算符 select ename || ' WORKS AS A ' || job as msg from emp where deptno = 10

mysql:这个库支持CONCAT函数

select concat(ename,' WORKS AS A ',job) as msg from emp where deptno = 10

SQLServer:使用 "+"运算符进行连接操作

select ename + 'WORKS AS A ' + job as msg from emp where deptno = 10

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

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和PostgreSQL

select * from limit 5

Oracle

select * from emp where rownum <=5

SQLServer

select top 5 * from emp

1.10 从表中随机返回n条记录 使用DBMS支持的内置函数来生成随机数值。在ORDER BY 子句中使用该函数,对行进行随机排序,然后使用前面问题 介绍的技巧,来限制所返回的行(顺序随机)的数目

DB2

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

MySQL

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

PostgreSQL

select ename,job order by random() limit 5

Oracle

select * from( select ename,job from emp order by dbms_random.value() ) where rownum <= 5 SQLServer select top ename,job from emp order by newid()

1.11查找空值 要确定值是否为空,必须使用 IS NULL

select * from emp where comm is null

1.12将空值转换为实际值

select coalesce(comm,0) from emp

1.13按模式搜索 使用LIKE运算符和SQL通配符"%"

select ename,job from emp   where deptno in(10,20) and (ename like '%I%' or job like '%ER')

相关文章

  • 一、检索记录

    1.1从表中检索所有行和列 select * from emp; 1.2从表中检索部分行 select em...

  • Some ideas

    便签记录日程,计划,安排。 一端记录多端同步共享。 删除找回功能。 时间轴检索。 ...

  • SQL实例学习(一)

    检索记录 检索所有行和列 代码# 查询表中所有数据select * from EMP;# 查询具体制定的列sele...

  • SQL设计与优化

    SQL执行流程 索引快速定位记录的一种数据结构B+Tree索引等值、范围检索Hash索引等值检索空间索引(R-Tr...

  • MySQL学习笔记之二

    数据库的操作总结就是:增删改查(CURD),今天记录一下基础的检索查询工作。 检索MySQL 1.查询表中所有的记...

  • MySQL忽略主键冲突,避免重复插入数据的三种方式

    方案一:ignore 插入时检索主键列表,如存在相同主键记录,不更改原纪录,只插入新的记录。 ignore关键字所...

  • 开智IA001 基础1

    背景 ch1 检索实操题:请检索 19 世纪以来,心理学出现的所有分支学科,并列出这些分支学科出现的时间。记录你的...

  • SQL必知必会----第四版(一)

    记录自己学习这本书的过程此篇文章包括检索、排序检索数据和过滤数据 通往其他文章的入口:SQL必知必会----第四版...

  • 如何让事情在重复的时候更简单高效

    原则与过程 (1)关键步骤记录对关键步骤作明确清晰的记录! (2)记录的存储规范易检索记录的位置及其组织结构要明确...

  • 索引1

    1.索引选择性=索引列唯一值/表记录数; 选择性越高索引检索价值越高,消耗[系统]资源越少;选择性越低索引检索价值...

网友评论

    本文标题:一、检索记录

    本文链接:https://www.haomeiwen.com/subject/bzzutctx.html