SQL检索记录
<<第一章检索记录>>:关于表使用SELECT语句和特殊字符“*”;
*:SELECT * from emp;
1:分别列出每一行:SELECT empno,ename,job,mgr,comm from emp
2:检索部分行:使用WHERE子句指定保留行数
SELECT * FROM emp WHERE depyon = 10
3:查找满足多个条件行使用WHERE子句以及OR和AND子句查找多个条件数据
查找部门10中所有员工,所有得到提成员工以及部门20中工资不超过2000美金员工:
dempton为10或者comm不为空,或者工资最多为2000而且deptno为20;
SELECT * FROM emp WHERE depton =10 or comn is not null or sal<=2000 AND dempton=20
SELECT * FROM emp WHERE (deptno='10' OR comm IS NOT NULL OR sql<=2000)AND deptno='20'
4:表中检索部分列
SELECT子句指定列保证不返回多余数据
SELECT ename,deptno FROM emp;
5:为列(起)取有意义名称:AS关键字可以查询到新取的名称,新名称就是别名
SELECT `job` AS `jobect`,`sal` AS `sall`FROM `emp`;
6:WHERE子句中引用取别名的列:
SELECT `job` AS `jobect`,`sal` AS `sall`FROM `emp` WHERE `sal`>1500 ;
7:连接列值;
CLARK WORKS AS A MANAGER
KING WORKS AS A PRESIDENT
MILLER WORKS AS A CLERK
要得到来自不同列数据
SELECT ename,job FROM emp WHERE deptno='10';
查找和使用DBMS提供内置函数,来连接来自不同列值 DB2,Oracle,PostgreSQL
这些数据库使用双竖线作为连接运算符
SELECT ename||’WORKS AS A '|| job AS msg FROM emp WHERE deptno='10';
MYSQL: SELECT CONCAT (`ename`, 'WORKS AS A ', `job`)AS `mgr` FROM WHERE deptno='10';
8:在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;
9:限制返回行数
限制返回行数,不关心顺序,返回任何n行都行
SELECT * FROM emp LIMIT 5;
10:在表中随机返回n条记录
SELECT ename ,job FROM emp;
使用DBMS支持内置函数来生成随机数值,在ORDER BY 子句中使用对该行进行随机排序,
然后来限制所返回的行的数目。
SELECT ename,job FROM emp ORDER BY RAND() LIMIT 5;
11:查找空值
查找某列为空的所有行
SELECT * FROM emp WHERE comm is null;
***12: 将空值转换为实际值
在一些行中包含空值,需要使用非空值代替这些空值(空值转换为非空值)
SELECT coalesce(comm,0) FROM emp;
SELECT CASE WHEN comm IS NULL THEN 2 ELSE comm END FROM emp;
13:按模式搜索
需要返回匹配特定子串或模式行,考虑查询和结果集
SELECT ename,job FROM emp WHERE deptno in(10,20);
条件:使用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检索记录的更多相关文章
- hibernate检索方式(HQL 检索方式,QBC 检索方式,本地 SQL 检索方式)
hibernate有五种检索方式,这儿用 单向的一对多的映射关系 例子,这儿有后三种的方式: 导航对象图检索方式: 根据已经加载的对象导航到其他对象 OID 检索方式: 按照对象的 OID 来检索对象 ...
- QBC检索和本地SQL检索
细说QBC:QBC(Query By Criteria) 查询:这种方式比较面向对象方式,因为是面向对象,所以查询时参数名就是所查询的类的属性名并不是数据库的表的列名重点是有三个描述条件的对象:Res ...
- [原创]java WEB学习笔记92:Hibernate学习之路-- -QBC 检索和本地 SQL 检索:基本的QBC 查询,带 AND 和 OR 的QBC,统计查询,排序,分页
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- SQL重复记录处理(查找,过滤,删除)
SQL重复记录处理(查找,过滤,删除) ID int Title nvarchar(50) AddDate datetime 数据 www.2cto.com ID ...
- Yii2如何添加sql日志记录的配置信息
在使用Yii2框架的时候,常常会出现没有sql日志记录的问题.在代码里一句一句的打印sql语句也不现实.所以就要用文件记录起来. 在 config/web.php 里面的 log配置中增加如下配置 [ ...
- limit 检索记录行
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数.LIMIT 接受一个或两个数字参数.参数必须是一个整数常量.如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定 ...
- EF Core3.0+ 通过拦截器实现读写分离与SQL日志记录
前言 本文主要是讲解EF Core3.0+ 通过拦截器实现读写分离与SQL日志记录 注意拦截器只有EF Core3.0+ 支持,2.1请考虑上下文工厂的形式实现. 说点题外话.. 一晃又大半年没更新技 ...
- 《SQL CookBook 》笔记-第一章-检索记录
目录 第一章 检索记录 1.1检索所有行和列 1.2筛选行 1.3查找满足多个查询条件的行 1.4筛选列 1.5创建列的别名 1.6 在where子句中引用别名列 1.7 串联多列的值 1.8 在se ...
- 常用sql 全记录(添加中)
-- 数据库SQL总结中........... --SQL分类: (CREATE,ALTER,DROP,DECLARE) ---DDL—数据定义语言(SELECT,DELETE,UPDATE,INSE ...
随机推荐
- 本地存储和cookies之间的区别
- 使用slice和concat对数组的深拷贝和浅拷贝
一.数组浅拷贝 在使用JavaScript对数组进行操作的时候,我们经常需要将数组进行备份. 如下代码,如果只是简单才用赋值的方法,那么我们只要更改其中的任何一个,然后其他的也会跟着改变,这就导致了问 ...
- gradient渐变IE兼容处理
根据caniuse(http://caniuse.com/#search=gradient),rgba兼容性为IE10以及以上浏览器. 实例代码: <!doctype html> < ...
- 期待微软平台即服务技术Service Fabric 开源
微软的Azure Service Fabric的官方博客在3.24日发布了一篇博客 Service Fabric .NET SDK goes open source ,介绍了社区呼声最高的Servic ...
- [微信小程序]初试——成绩分析小程序问题总结
文件类型说明 第一次打开微信小程序的开发者工具,就是下面这个样子. 好多已经存在的默认文件 .js .json .wxml .wxss 首先当然要搞懂这些文件都是干什么的 app.js是小程序的脚本代 ...
- echarts 各类图形小计
通用 官网 1.提示框组件 效果: 代码: 配置项手册 2.工具框组件 效果: 代码: 配置项: 3.series系列列表 a)折线line 效果: 代码: if(serSets[v]){ //注释 ...
- SEQ序号与ACK序号理解总结
备查 SEQ序号与ACK序号理解总结
- 模拟jquery链式访问
一直写代码写代码,博客都快荒废了,眼看一月要过完,不能不留下点记忆,嘿嘿,刚研究了下jquery的链式访问,这么好用的技能我赶紧get了下,研究后略微修改,模拟一个简单的链式访问,下面这段代码支持修改 ...
- css基本布局
一.一列布局 关键代码: { width:960; margin:0 auto: } 代码: 运行结果: 分析:以上代码实现一列布局,头部占整个浏览器 ...
- Zabbix3.0部署最佳实践
Zabbix3整个web界面做了一个全新的设计. 更多新特性请点击当前字幕查看 笔者QQ:572891887 Linux架构交流群:471443208 1.1Zabbix环境准备 [root@li ...