• List item
select p.FirstName,p.LastName,s.City,s.State from Person p left join Address s on p.PersonId = s.PersonId
-- 注意数据库在连接多张表来展示内容时,都会生成一张临时表来存放全部数据,on条件是在生成临时表的条件,它决定了临时表是什么样的,
--left 不管on中的条件是否为真,都会返回左表数据,即使是null
-- where条件是在生成临时表之后,就是对查询出来的数据进行过滤,根据条件来获取到两个表中的公共部分,
  • 添加一个列
    这个列不在表中
SELECT XMBH,BCSJ,ZZ,XMMC,XMJZ,XMZT,'1' AS BLY,NULL AS YSLB,NULL AS SQJE  from BO_EU_XMDA UNION ALL
SELECT SQDH AS XMBH,SQRQ AS BCSJ,SQRBMPATH AS ZZ,XMMC,KXXFX AS XMJZ, NULL AS XMZT, '0' AS BLY,YSLB,SQJE
FROM BO_EU_GJ_XMLXSPselect null, password from ORGUSER
  • oralce和mysql分页
- 第一种
SELECT rownum r2,table1.* FROM (
select rownum r1, A.* from VIEW_EU_HTGL_XMDA A where rownum <=4
) table1
WHERE r1>0
-- 第二种
--分页处理 先查询出数据,和rownum列 最后在查询出具体数据的范围 rowunm between 1 and 3
SELECT * FROM (
select rownum ro, A.* from VIEW_EU_HTGL_XMDA A
) table1
WHERE table1.ro between 1 and 3
=======================
mysql有limit函数 可以进行分页 第一个参数是返回数据的开始位置 是从0开始的,第二个参数是返回记录行的最大数目,
select * from tb_item limit 0, 3 //返回从0开始的数据,展示3条
select * from tb_item limit 3 -- 展示3条数据
  • 简单操作表
--sql语法
create table tablename(列名,类型,约束)
drop table tablename
alter table manager add column level varchar
select * from manager
insert into manager(id,username,password) values('1','2','3')
delete from manager where id = '1'
  • 常用的sql查询关键字
--union是用来将两个查询结果集合并在一起产生一个表,会去重,
--union all 是不会去重
select count(*) from ((select id,created from tb_item) union all (select item_id as id,created from tb_item_desc))as table1
--左连接是查询出匹配行,还查询出左表全部数据,右连接同理,left join rigth join
-- full join  两个表中所有记录
--group by 一张表一旦分组,查询后只能得到组的相关信息,count,sum,max,min,avg
--复制表结构和列 主键和索引不会复制
create table managers select * from manager
select * from managerss
--只复制表结构
create table managerss like managers
--只复制表中的数据到新表
insert into managerss select * from managers
--查看表的创建命令 用来建表用
show create table manager
  • 排名问题
select s1.name,s1.score,count(distinct(s2.score)) Rank -- 查询出name,成绩,统计出大于每一条大于左表的数据 不同的
from scores s1,scores s2 -- 内连接自己
where s1.score<=s2.score --  左表数据小于右表数据
group by s1.id -- 按id人分组  可以找到有多个人大于自己
order by Rank  -- rank是排名函数 并列同名次

  • 多表连接哪些事
-- 数据库中的多表连接 内连接 外连接 和全连接的格式 子查询也算是一种多表关联
-- 内连接的含义 查询出存在连接关系的字段, 交集
select * from info o inner join scores s on o.id = s.id
select * from info o,scores s where o.id = s.id
-- 外连接就是查询出符合条件的数据还会有孤儿数据
-- 左连接就是会包含左表有孤儿数据
select * from scores s left join info o   on o.id =s.id
-- 去掉符合条件的 输出左表的不符合条件的数据
select * from scores s left join info o   on o.id =s.id where o.id is null
-- 右连接就是会包含右表中的孤儿数据 不符合条件的 null
select * from scores s right outer join info o on s.id =o.id
select * from scores s right join info o on s.id =o.id
select * from scores s right join info o on s.id =o.id  where s.id is null
-- 过滤掉符合条件的数据
select * from scores s left join info o on s.id = o.id where o.id is null or s.id is null
-- oracle 全连接
select * from scores s FULL JOIN info o on s.id = o.id
select * from BO_EU_HTFL L
full join BO_EU_HTJY Y ON L.ID = Y.ID
-- mysql的全连接 select * from scres s union all select * from info
  • group by 分组学习
    对数据进行分组,或是使用聚合函数是常见的操作,求和 sum() avg() max() min() 这些都是最基本的操作,
-- 懂得group by 分组 having条件 设置
select * from emp
--懂得学会要排序 排名次
select * from emp p1,emp p2 where p1.salary <= p2.salary -- 查询出左表数据有多少个小于右表数据
select p1.name,p1.salary,count(DISTINCT(p2.salary)) from emp p1,emp p2 where p1.salary <= p2.salary
group by p1.id -- 查询出每个人的排名情况
  • 数据库设计的范式
    1 第一范式:表中不能出现重复数据,每一个字段保持原子性,也就是说表中的每一个行都有一个唯一的主键,
    2 第二范式:非主键的字段完全依赖主键,不能是部分依赖,完全依赖就是完全依附于主键,
    3 第三范式:非主键字段不能传递依赖主键字段,冗余字段拿出来单独建表。

  • drop和truncate和delete
    1 delete 是删除过程中每次从表中删除一行,
    2 drop 是删除表
    3 truncate 是清空表

  • 主键和外键
    1 主键是表格中的一个字段,是数据行的标识,唯一的,不能为空
    2 外键是表格中和另一个表中的主键关联,可以重复,可为空,

oralce decode函数
select htfl,htflbh,htmc,decode(isend,'1','h','2','e')
from VIEW_EU_HTQC_VALID where rownum < 3
===============
mysql  if()函数
select if(id=1,'true','false'),name from emp
  • 添加一条查询出来的数据 跨库查询
 insert into GJ_HTGL_TEST.BO_EU_HTQC(id,htbh) select id,HTBH from GJ_HTGL_DEV.BO_EU_HTQC WHERE HTBH = '无'
  • 常用的sql
-- 查询数据库
SHOW DATABASES
-- 创建数据库
create database test charset = 'utf-8'
-- 使用数据库
use test
-- 查看当前使用的数据库
select database()
-- 删除数据库
drop database test
-- 操作表
-- 添加一列
alter table info add sex VARCHAR(23);
-- 删除一列
alter table info drop column sex
-- 查看表结构
desc info
-- 创建表和删除表
create table
drop table tablename select * from emp
-- 合并显示字段
select concat(name,city) as haha from emp
-- 常用的文本处理函数  返回左边部分按照指定长度
select left(name,1) from  emp
-- 返回右边部分按照指定长度
select right(name,1) from emp
-- 删两边空格
select TRIM(name) from  emp
-- 去掉字符串中的空格来显示
select replace(name,' ','') from emp where id = '1'
-- 显示字符长度
select length(name) from emp where id='1'
-- 添加数据
insert into emp values();
-- 查询数据放到一个表中
create table test as (select * from emp )
insert into test(class) select class from info
-- 更新
update test set k=v where id = x
-- 删除表中的数据
delete from test where id = 1
-- 查看执行计划
explain select * from emp p inner join department t on p.departmentid = t.id
-- type 表示访问数据表是什么类型
-- all 是全表扫描 index 索引
-- possible_keys 可能会使用的索引
-- key是显示实际上使用了索引列表
-- filtered 显示处理表中的行数

数据库中常用使用场景相关推荐

  1. oracle常见单词_数据库中常用的英文单词

    数据库中常用的英文单词 ORACLE 开发 2010-06-30 16:20:05 阅读 17 评论 0 字号:大中小 订阅 下列是一些数据库中经常碰到的英文单词: Access method (访问 ...

  2. mysql数据库中常用的类型_MySQL数据库中常用字段类型

    MySQL数据库中常用字段类型 整数型:TINYINT,SMALLINT,INT,BIGINT 小数型:FLOAT,DOUBLE,DECIMAL(M,D) 字符型:CHAR,VARCHAR 日期型:D ...

  3. oracle数据库中常用的几个非主流函数

    今天我向大家介绍oracle中几个常用但是非主流的函数,有以下几个: COALESCE , DECODE , WM_CONCAT , LISTAGG , ROLLUP ,   开窗函数(分析函数) . ...

  4. oracle数据库中常用语法,oracle数据库常用语法(中文注释版)

    -- 查看系统所有变量值 show all -- 显示当前连接用户 show user -- 显示表结构 desc 表名 -- 显示错误 show error -- 退出 exit; 表空间是数据库中 ...

  5. Oracle数据库中常用的命令

    1.强制日志切换(forcing log switches) alter system switch logfile;2.强制执行检查点(forcing checkpoints) alter syst ...

  6. mysql 函数返回查询结果_MySQL数据库中常用查询函数简介

    MYSQL中的常用函数 count(*)--- 相当于统计表的行数,在统计结果的时候,不会忽略列值为NULL的记录. select count(*) from yinxiong; Count(列名) ...

  7. mysql 查看数据库函数_MySQL数据库中常用查询函数简介

    MYSQL中的常用函数 count(*)--- 相当于统计表的行数,在统计结果的时候,不会忽略列值为NULL的记录. select count(*) from yinxiong; Count(列名) ...

  8. django mysql 过滤所有id_Django数据库中常用的过滤操作

    # 获取所有数据,返回QuerySet,里面包含的是对象 models.DjangoInfo.objects.all() # 获取所有的id,name数据,返回QuerySet,里面包含的是字典 mo ...

  9. oracle数据库sql查询,oracle数据库中常用经典SQL查询

    2010-06-03 14:25:15 来自 --1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_ ...

  10. oracle系统试算平衡表,oracle数据库中常用的系统表

    dba_开头..... dba_users 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objects 数据库对象信息 dba_tablespace ...

最新文章

  1. Excution failed for task ':app:transformClassWithDexForDebug'
  2. 不愿说再见 | 自动化系2019年毕业典礼发言
  3. 【学习笔记】【oc】类和对象及类的三大基本特征
  4. 【阿里云课程】分组网络原理,结构发展及设计改进
  5. tomcat连接不上本地mysql_mysql连接不上tomcat
  6. FLASH开发[02]
  7. applicationContext.xml中的使用${}是代表什么意思?
  8. 改变世界的七大NLP技术,你了解多少?(上)
  9. weakreference_Java中WeakReference,SoftReference,PhantomReference和Strong Reference之间的区别...
  10. 配置多个git账号_docker随手笔记第七节 jenkins通过git部署java微服务插件安装
  11. linux的用户及权限管理,用户及权限管理
  12. (转)Bibtex使用方法
  13. [摘]UML学习二:标准建模语言UML的静态建模机制
  14. (105)FPGA面试题-查找程序中的代码错误
  15. 戴尔台式机安装win 7系统
  16. 【优化预测】基于matlab粒子群算法优化SVM预测【含Matlab源码 1424期】
  17. c语言编程 通讯录排序,C语言实现一个通讯录
  18. 《明解C语言 入门篇》第4章 程序的循环控制 练习题解答
  19. 一文讲透项目管理的价值和意义到底是什么?
  20. windows server 2012的DHCP保留地址导出导入、DHCP故障转移配置、DNS条目命令导入

热门文章

  1. 拓端tecdat|R语言Meta分析效应量
  2. android富文本文件存储,Android富文本
  3. java socket wex5,在wex5中如何一行代码更新数据
  4. [1] 图像预处理----图像灰度化处理
  5. js基础知识汇总13
  6. 如何调试神经网络参数
  7. Caffe学习:Data
  8. 如何使用 Python 开发加权平均集成
  9. 基于开源文本摘要模块sumy的文本摘要生成实践
  10. python之range与xrange使用区别