SQL语句
道法—自然
不积跬步,无以至千里;不积小流,无以成江海。——荀子
展开
-
oracle中的四表联合查询练习
create table student(sno varchar2(10) primary key,sname varchar2(20),sage number(2),ssex varchar2(5));create table teacher(tno varchar2(10) primary key,tname varchar2(20));create table cour...原创 2019-11-18 22:04:16 · 916 阅读 · 0 评论 -
Oracle的分页查询(讲义)
-----oracle的分页查询 --问题:当一个表中的数据量特别大的时候,如果一次性全部显示给用户,则造成页面过于庞大,体验极差。 --解决:使用分页查询 --使用: --rownum关键字:oracle对外提供的自动给查询结果编号的关键字,与每行的数据没有关系。 --注意:rownum关键字只能做< <=的判断,不能进行> &g...原创 2018-11-02 00:06:27 · 327 阅读 · 0 评论 -
二维表的练习(练习)
1.列出所有雇员的姓名及其直接上级的姓名2.列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门;3.显示所有部门在"NEW YORK"(dept表 loc字段)的员工姓名4.显示员工"SMITH"的姓名,部门名称5.显示员工姓名,部门名称,工资,工资级别(salgrade表 grade字段),要求工资级别大于4级6.显示员工"KING"和"FORD"管理的员工姓名及其经理姓名7...原创 2018-11-02 00:06:12 · 707 阅读 · 0 评论 -
二维表的操作(练习)
--1.列出所有雇员的姓名及其直接上级的姓名 select e1.ename,e2.ename from emp e1 inner join emp e2 on e1.mgr=e2.empno--2.列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门; select * from emp e right join dept d on e.deptno=d.dept...原创 2018-11-02 00:05:55 · 1894 阅读 · 0 评论 -
二维表的修改(讲义)
---oracle学习 --oracle的管理系统学习 --oracle的数据管理学习 --oracle的用户管理 --oracle二维表管理 --二维表的创建 --创建语句 --约束 --修改二维表-----------------------------------------------------二维表的维护 -...原创 2018-11-02 00:05:46 · 412 阅读 · 0 评论 -
二维表中的约束条件(讲义)
---Oralce的二维表操作 --创建表并同时添加约束 --主键约束 --非空约束 --检查约束 --唯一约束 --外键约束 --简单的表创建和字段类型 --简单的创建语句: create table student( sno number(10) ,--primary key...原创 2018-11-02 00:05:21 · 561 阅读 · 0 评论 -
Oracle中的视图和索引操作(讲义)
---oracle学习 --oracle的管理系统学习 --oracle的数据管理学习 --oracle的用户管理 --oracle二维表管理 --oracle的其他知识 --oracle的序列,视图,索引 --oracle的分页查询 --oracle的数据库备份 --oracle的图形化界面操作-----------------------...原创 2018-11-02 00:05:32 · 1666 阅读 · 0 评论 -
sql92 和99操作以及子查询(练习)
--1.选择部门30中的所有员工.select * from emp where deptno=30--2.列出所有办事员(CLERK)的姓名,编号和部门编号.select ename,empno,deptno from emp where job='CLERK'--3.找出佣金高于薪金的员工.select * from emp where sal<comm--4.找出佣金高于...原创 2018-11-02 00:05:03 · 546 阅读 · 0 评论 -
sql中的子查询(讲义)
--单表查询: --当需要的数据在一张表中,考虑使用单表查询--多表联合查询: --当需要查询的数据分布在多张表中,考虑使用多表联合--子查询学习: --使用时机:当查询的筛选条件不明确时,考虑使用子查询。 --单行子查询 --多行子查询------------------------------------------------------------------...原创 2018-11-02 00:04:54 · 206 阅读 · 0 评论 -
sql中对用户的操作(讲义)
---Oracle学习 --oracle管理系统介绍(客户端和服务器端的交互模式) --oracle数据库的数据管理(增删改查 查询) --oracle账户管理 --oracle二维表管理 --创建表 --维护表 --删除表 --oracle的其他知识--------------------------------...原创 2018-11-02 00:04:43 · 293 阅读 · 0 评论 -
sql99联合查询及二维表的简单操作(讲义)
---多表联合查询: --当需要获取的数据分布在多张中,考虑使用联合查询 --SQL92方式 --SQL99方式---------------------------------------------SQL92方式 --笛卡尔积:将多个表的数据进行一一对应,所得到结果为多表的笛卡尔积。 --结果的数量为所有表的数量的乘积。 s...原创 2018-11-02 00:04:26 · 1230 阅读 · 0 评论 -
sql92查询与sql99查询实现的三种方式(讲义)
--SQL92&SQL99实现三表联合查询 --创建city表:使用图形操作即可 --给city表添加测试数据 insert into city values(1,'商丘','历史闻名古都'); insert into city values(2,'邯郸','历史闻名古都'); insert into city values(3,'洛阳','历史闻名古都'...原创 2018-11-01 13:08:09 · 727 阅读 · 0 评论 -
sql99查询(讲义)
---多表联合查询: --当需要获取的数据分布在多张中,考虑使用联合查询 --SQL92方式 --SQL99方式------------------------------------------------------------------SQL99多表查询 --注意1:依然可以给表添加别名 --注意2:如果使用on或者usering关键对结果进行筛选...原创 2018-11-01 13:08:00 · 393 阅读 · 0 评论 -
Oracle中的分页查询(练习)
---创建Employeescreate table Employees( employeeID varchar2(6) primary key, ename varchar2(10) not null, Birthday date not null, sex char(4) not null, address varcha...原创 2018-11-03 00:00:34 · 245 阅读 · 0 评论 -
Oracle部分练习(练习)
create table student(sno varchar2(10) primary key,sname varchar2(20),sage number(2),ssex varchar2(5));create table teacher(tno varchar2(10) primary key,tname varchar2(20));create table cour...原创 2018-11-03 00:00:44 · 221 阅读 · 0 评论 -
MySQL中的简单数据查询
查询:一:查询所有数据select * from Info 查所有数据select Code,Name from Info 查特定列二:根据条件查select * from Info where Code='p001' 一个条件查询select * from Info where Code='p001' and Nation='n001' 多条件 并关系 查询select * fro...原创 2018-10-30 14:34:27 · 188 阅读 · 0 评论 -
oracle部分练习【III】
create table student(sno varchar2(10) primary key,sname varchar2(20),sage number(2),ssex varchar2(5));create table teacher(tno varchar2(10) primary key,tname varchar2(20));create table cour...原创 2019-07-17 09:27:18 · 176 阅读 · 0 评论 -
oracle数据库的安装
1、oracle数据库的版本分类:oracle数据库的版本分为oracleXE版本和oracle11G版本2、oracle数据库的架构oracle数据库跟MySQL数据库一样,是采用C/S架构同时oracle数据库是有服务端和客户端oracle数据库的服务端安装完成之后如图显示oracle数据库的客户端:plsql注意oracle数据库是需要安装的,但是...原创 2019-07-03 21:27:46 · 194 阅读 · 0 评论 -
Redis数据库和MySQL数据库的区别
Redis是一个内存数据库,每次删除或者其他操作,都需要进行flush操作MySQL数据库在Linux系统中,也是需要进行flush操作的。在hive中,需要将MySQL的jar包导入,然后要用高版本的jar包去替换低版本的jline包的。hive客户端:主要配置以下文件:1、将hive文件包上传分发,安装2、配置/ETC/PROFILE3、修改hive-site.xm...原创 2018-11-25 14:55:47 · 5016 阅读 · 1 评论 -
logstash安装与logstash-input-jdbc插件使用
ElasticSearch的索引可以手动添加索引的,就是类似下面这样添加的PUT /movies/movie/1{ "title": "The Godfather", "director": "Francis Ford Coppola", "year": 1972, "genres": ["Crime", "Dr原创 2018-11-23 18:02:47 · 485 阅读 · 0 评论 -
SQL中union和union all的区别
union在进行表求并集后会去掉重复的元素,所以会对所产生的结果集进行排序运算,删除重复的记录再返回结果。union all则只是简单地将两个结果集合并后就返回结果。因此,如果返回的两个结果集中有重复的数据,那么返回的结果就会包含重复的数据。从上面的对比可以看出,在执行查询操作时,union all要比union快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据,那么最好使用un...原创 2018-11-21 21:56:59 · 18107 阅读 · 0 评论 -
添加单位的SQL语句
SELECTcount(g.id) AS cnt,CONCAT(g.pro_grade,'级') AS nameFROMinfo_sys AS infoLEFT JOIN grade g ON info.id = g.info_sys_idWHEREg.pro_grade != ""GROUP BYg.pro_grade; #select info.sys_name a...原创 2018-11-03 00:01:39 · 1639 阅读 · 0 评论 -
sql语句总结
查询单条语句单循指定字段查询日期限制查询逻辑 where type = ‘T’and or in查询非空,is null ,is not null查询非空要加上is利用变量查询后边要加上where id = '$_POST[text]'查询后几条数据,后边要加上limit $n查询前几条数据,要用limit 0,$n注意:前几条数据,是从0开始的。查...原创 2018-10-30 23:28:34 · 119 阅读 · 0 评论 -
多表联合查询语句
select dpt.*, info.*, gd.*, mat.* from depart as dpt left join info_sys as info on dpt.id = info.dept_name left join grade as gd on info.id = gd.grade left join material as mat on gd....原创 2018-10-30 23:06:24 · 1885 阅读 · 0 评论 -
MySQL语句的多表联合操作
建表语句 #建学生信息表studentcreate table student(sno varchar(20) not null primary key,sname varchar(20) not null,ssex varchar(20) not null,sbirthday datetime,class varchar(20));#建立教师表create table...原创 2018-10-30 22:48:19 · 204 阅读 · 0 评论 -
多表联合查询的SQL语句
多表联合查询SQL语句一: select dpt.`dept_namee`, dpt.`principal_name`, dpt.`unit_type`, info.`sys_name`, info.`dept_name`, info.`begin_use_time`, gd.`pro_grade`, gd.`pro_time`, gd.`jug_res`,...原创 2018-10-30 17:09:57 · 16939 阅读 · 0 评论 -
MySQL单表查询详解
一、between……and……操作符1、查询薪水为1600到3000的员工(第一种方式:采用>= 、<=) 例如:select empno,ename,sal from emp where sal >= 1600 and sal <= 3000; 2、查询薪水为1600到3000的员式(第二种方式:采用between…and…) 例如:select empno...原创 2018-10-30 15:56:42 · 680 阅读 · 0 评论 -
MySQL中的单表查询语句汇总
一查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,=,<,<>,!=,!>,!<,=>,=< 二查询字符串 SELECT * FROM tb_stu WHERE sname = '小刘' SELECT * FROM tb_stu WHERE sname like ...原创 2018-10-30 15:10:32 · 604 阅读 · 0 评论 -
mysql的92查询和99查询(练习)
1.列出所有雇员的姓名及其直接上级的姓名2.列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门;3.显示所有部门在"NEW YORK"(dept表 loc字段)的员工姓名4.显示员工"SMITH"的姓名,部门名称5.显示员工姓名,部门名称,工资,工资级别(salgrade表 grade字段),要求工资级别大于4级6.显示员工"KING"和"FORD"管理的员工姓名及其经理姓名7...原创 2018-11-01 13:07:48 · 857 阅读 · 1 评论 -
mysql数据库练习(练习)
--1.选择部门30中的所有员工. select * from emp where deptno=30--2.列出所有办事员(CLERK)的姓名,编号和部门编号.select empno,ename,deptno from emp where job='CLERK'--3.找出佣金高于薪金的员工.select * from emp where comm>sal--4.找出佣...原创 2018-11-01 13:07:39 · 1463 阅读 · 0 评论 -
SQL语句中not in 和not exist的区别
in和existsin 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:例如:表A(小表),表B(大表)1:select * from A...原创 2018-09-15 09:06:50 · 25693 阅读 · 6 评论 -
SQL语句中的in ,not in;exist,not exist的区别
1、in和existsin是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in;例如:表A(小表),表B(大表)select * from A ...原创 2018-09-14 23:40:48 · 406 阅读 · 0 评论 -
SQL语句中where和 on的区别
join过程可以这样理解:首先两个表做一个笛卡尔积,on后面的条件是对这个笛卡尔积做一个过滤形成一张临时表,如果没有where就直接返回结果,如果有where就对上一步的临时表再进行过滤。下面看实验:先准备两张表:先执行inner join: select * from person p inner join account a on p.id=a.id and p.id!=...原创 2018-09-14 23:06:53 · 3635 阅读 · 0 评论 -
SQL语句中on 、where 和 having的区别
关键字: on数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。在使用left jion时,on和where条件的区别如下:1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的...原创 2018-09-14 22:33:39 · 2034 阅读 · 0 评论 -
left join和left outer join的区别
select a.*,b.* from a left join b on a.k = b.k select a.*,b.* from a left outer join b on a.k =b.k ----------上面两种一样left join是left outer join的简写 ...原创 2018-09-14 22:26:17 · 8247 阅读 · 0 评论 -
开窗函数、高级排序函数:ROW_NUMBER(),RANK() , DENSE_RANK ,OVER (partition by xx order by xx)
高级排序函数: [ ROW_NUMBER()| RANK() | DENSE_RANK ] OVER (partition by xx order by xx)1.row_number() 连续且递增的数字 1 2 3 4 row_number() over (partition by xx order by xx ) --学生表中按照所在专业分组,同专业内按成绩倒序排序,成绩相...原创 2018-09-09 16:39:49 · 2556 阅读 · 0 评论 -
SQL行转列、列转行
SQL行转列、列转行这个主题还是比较常见的,行转列主要适用于对数据作聚合统计,如统计某类目的商品在某个时间区间的销售情况。列转行问题同样也很常见。一、整理测试数据create table wyc_test( id int(32) not null auto_increment, name varchar(80) default null, date date default n...原创 2018-09-09 15:51:14 · 214989 阅读 · 6 评论 -
SQL查询语句中行转列的显示
示例1: select country,sum(case when type='A' then money end) as A,sum(case when type='B' then money end) as B,sum(case when type='C' then money end) as Cfrom table1group by country--------...原创 2018-09-09 15:06:17 · 13826 阅读 · 0 评论 -
DML、DDL、DCL,TCL的区别
总体解释:DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言DDL(data definition language): DDL比DML要多,主要的命令有CREATE、ALTER、DROP,truncate等,DDL主要是用在...原创 2018-09-09 11:54:36 · 670 阅读 · 0 评论 -
sql中drop、truncate和delete的区别
SQL中的drop、truncate、delete的区别:(1) DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。(2) 表和索引所...原创 2018-09-09 11:46:55 · 424 阅读 · 0 评论