sql数据库

*:first-child {
margin-top: 0 !important;
}

body>*:last-child {
margin-bottom: 0 !important;
}

/* BLOCKS
=============================================================================*/

p, blockquote, ul, ol, dl, table, pre {
margin: 15px 0;
}

/* HEADERS
=============================================================================*/

h1, h2, h3, h4, h5, h6 {
margin: 20px 0 10px;
padding: 0;
font-weight: bold;
-webkit-font-smoothing: antialiased;
}

h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code {
font-size: inherit;
}

h1 {
font-size: 28px;
color: #000;
}

h2 {
font-size: 24px;
border-bottom: 1px solid #ccc;
color: #000;
}

h3 {
font-size: 18px;
}

h4 {
font-size: 16px;
}

h5 {
font-size: 14px;
}

h6 {
color: #777;
font-size: 14px;
}

body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child {
margin-top: 0;
padding-top: 0;
}

a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
margin-top: 0;
padding-top: 0;
}

h1+p, h2+p, h3+p, h4+p, h5+p, h6+p {
margin-top: 10px;
}

/* LINKS
=============================================================================*/

a {
color: #4183C4;
text-decoration: none;
}

a:hover {
text-decoration: underline;
}

/* LISTS
=============================================================================*/

ul, ol {
padding-left: 30px;
}

ul li > :first-child,
ol li > :first-child,
ul li ul:first-of-type,
ol li ol:first-of-type,
ul li ol:first-of-type,
ol li ul:first-of-type {
margin-top: 0px;
}

ul ul, ul ol, ol ol, ol ul {
margin-bottom: 0;
}

dl {
padding: 0;
}

dl dt {
font-size: 14px;
font-weight: bold;
font-style: italic;
padding: 0;
margin: 15px 0 5px;
}

dl dt:first-child {
padding: 0;
}

dl dt>:first-child {
margin-top: 0px;
}

dl dt>:last-child {
margin-bottom: 0px;
}

dl dd {
margin: 0 0 15px;
padding: 0 15px;
}

dl dd>:first-child {
margin-top: 0px;
}

dl dd>:last-child {
margin-bottom: 0px;
}

/* CODE
=============================================================================*/

pre, code, tt {
font-size: 12px;
font-family: Consolas, "Liberation Mono", Courier, monospace;
}

code, tt {
margin: 0 0px;
padding: 0px 0px;
white-space: nowrap;
border: 1px solid #eaeaea;
background-color: #f8f8f8;
border-radius: 3px;
}

pre>code {
margin: 0;
padding: 0;
white-space: pre;
border: none;
background: transparent;
}

pre {
background-color: #f8f8f8;
border: 1px solid #ccc;
font-size: 13px;
line-height: 19px;
overflow: auto;
padding: 6px 10px;
border-radius: 3px;
}

pre code, pre tt {
background-color: transparent;
border: none;
}

kbd {
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
-moz-border-top-colors: none;
background-color: #DDDDDD;
background-image: linear-gradient(#F1F1F1, #DDDDDD);
background-repeat: repeat-x;
border-color: #DDDDDD #CCCCCC #CCCCCC #DDDDDD;
border-image: none;
border-radius: 2px 2px 2px 2px;
border-style: solid;
border-width: 1px;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
line-height: 10px;
padding: 1px 4px;
}

/* QUOTES
=============================================================================*/

blockquote {
border-left: 4px solid #DDD;
padding: 0 15px;
color: #777;
}

blockquote>:first-child {
margin-top: 0px;
}

blockquote>:last-child {
margin-bottom: 0px;
}

/* HORIZONTAL RULES
=============================================================================*/

hr {
clear: both;
margin: 15px 0;
height: 0px;
overflow: hidden;
border: none;
background: transparent;
border-bottom: 4px solid #ddd;
padding: 0;
}

/* TABLES
=============================================================================*/

table th {
font-weight: bold;
}

table th, table td {
border: 1px solid #ccc;
padding: 6px 13px;
}

table tr {
border-top: 1px solid #ccc;
background-color: #fff;
}

table tr:nth-child(2n) {
background-color: #f8f8f8;
}

/* IMAGES
=============================================================================*/

img {
max-width: 100%
}
-->

sql数据库的执行顺序

5. select       查看结果集中的哪个列,或列的计算结果
1. from 需要从哪个数据表检索数据
2. where 过滤表中数据的条件
3. group by 如何将上面过滤的数据分组
4. having 对已分组的数据进行过滤的条件
6. order by 按照不同排序方式返回数据

下述查询中所用的数据表

  • 部门表dept数据
did dname dmgr
1 销售部 1001
2 研发部 1005
3 服务部 1008
  • 员工表emp数据
id name gender age salary dno mgrid
1001 赵伟 38 6000 1  
1002 李萍兰 26 3000 1 1001
1003 秦晓 30 4000 1 1001
1004 赵晓辉 32 4200   1001
1005 张岚 40 8000 2  
1006 李秋平 24 4000 2 1002
1007 顾世刚 30 6000 2 1002
1008 段大宇 36 5000 3  

sql联表

  • 内连接

    • 指返回数据完全满足连接条件
  • 外连接
    • 指返回数据除了包含完全满足连接条件的数据,还包括不满足连接条件的数据
    • 左外连接、右外连接、全连接
  • 自连接
    • 指连接的表是自身
  • 交叉连接
    • 表连接时没有连接条件,返回结果是两个表数据的笛卡尔积

内连接

  • 连接语法一
select  column_list
from table_name1,table_name2 #表之间通过逗号隔开
where codition #表之间的连接条件
  • 连接语法二
select column_list
from table_name1
[inner] join table_name2 #表之间的连接通过 join实现
on condition; #表之间的连接条件
[...n]

外连接

外连接: 指表连接时除了返回符合连接条件的数据外,同时返回不符合连接条件的数据

  • 左外连接:

    • 是以左侧表为主,除返回符合连接条件的数据外,还返回左侧表不符合连接条件的数据
  • 右外连接:
    • 是以右侧表为主,除返回符合连接条件的数据外,还返回右侧表不符合连接条件的数据
  • 全外连接:

    • 除返回符合连接条件的数据外,还同时返回所有不符合连接条件的数据
  • 语法:

select  column_list
from table_name1
[left|right|full] [outer] join table_name2 #表之间的连接条件通过 xx join 实现
on condition #表之间的连接条件
[...n]

自连接

指对同一个表的连接,要执行一个内连接,必须使用不同的别名来区分

select e1.name 员工姓名,e2.name 上级主管
from emp e1,emp e2
where e1.mgrid=e2.id

交叉连接

在多表查询时,如果没有连接条件,则一个表的所有行将会和另一个表的所有行都会进行连接,连接的结果称为笛卡尔积

  • 连接语法一:
select column_list
from table_name1,table_name2[...n]
  • 连接语法二:
select column_list
from table_name1
cross join table_name2[...n]

子查询

在前面使用的查询语句都是只包含一条select语句,而有些情况下依靠单条select语句无法完成查询要求

这时候需要在select语句中内部嵌入另外的select语句,这条嵌入的select语句称为子查询

子查询除了可以应用到select语句中,也可以应用到insert、update、delete语句中

  • 单行子查询

    • 只返回一行一列数据的子查询称为单行子查询
    • 外部查询可使用比较运算符: = 、> 、>= 、 < 、<= 、<> 操作符
  • 多行子查询
    • 返回多行单列数据的子查询称为多行子查询
    • 外部查询可使用:in、not in 、any、all操作符
  • 关联子查询
    • 子查询引用外部查询中包含的一列或多列,查询的执行依赖外部查询
    • 针对每行外部查询数据,都将执行一次子查询
    • 外部查询可使用 exists、not exists 操作符

单行子查询

单行子查询不向外部的SQL语句返回结果,或者只返回一行

单行子查询可应用于select语句的where字句、having字句中

  • 在where字句中使用

    • 子查询作为条件判断的一方,位于小括号中(...)
- 查询年龄最小的员工信息
select * from emp
where age=(select min(age) from emp)
结果:查询到一条
- 查询大于最小年龄的员工信息
select * from emp
where age>(select min(age) from emp)
结果:查询到多条信息
  • 在having字句中使用
- 查询部门员工平均年龄小于所有员工平均年龄的部门和该部门员工平均年龄
select dno 部门编号,avg(age) 平均年龄 from emp
group by dno
having avg(age)<(select avg(age) from emp)

多行子查询

多行子查询通常返回一条或多条记录,多行子查询结果用于where语句时

判断可以使用in、any、all操作符

-查询负责管理其他员工的员工信息    --in
select * from emp
where id in (select mgrid from emp where mgrid is not null)
- 查询年龄大于所有部门最大年龄的员工信息 --all
select * from emp
where age > all(select max(age) from emp group by dno)
- 查询年龄大于任意部门最大年龄的员工信息 --any
select * from emp
where age > any(select max(age) from emp group by dno)

关联子查询

子查询中引用父查询信息,称为关联子查询

关联子查询对于外部查询中的每一行都会运行一次

-查询每个部门年龄最小员工
select * from emp o
where age=(select min(age) from emp i where i.dno=o.dno)
-查询负责管理其他员工的员工信息
select * from emp e1
where exists (select 1 from emp e2 where e2.mgrid=e1.id)
-查询不负责管理其他员工的员工信息
select * from emp e1
where not exists (select 1 from emp e2 where e2.mgrid=e1.id)

高级查询

操作符 说明
union all 并运算。返回各个查询检索出的所有行,包括重复行
union 并运算。返回各个查询检索出的所有行,不包括重复行
intersect 交运算。返回两个查询检索的共有行
except 差运算。从左查询中返回右查询没有找到的所有的所有非重复值

union all 操作

union all 操作只合并结果集,不去除重复数据

- 查询所有产品
select * from prod1
union all
select * from prod2
结果可能含有重复行

union操作

union操作合并结果集后去除重复数据

-查询所有产品
select * from prod1
union
select * from prod2
结果:无重复行

intersect操作

intersect操作返回结果集间的交集,也就是共有部分

-查询两个产品表的共有产品
select * from prod1
intersect
select * from prod3
结果:返回两表共有行

serversql数据库的查询操作的更多相关文章

  1. 『动善时』JMeter基础 — 43、JMeter对数据库的查询操作

    目录 1.使用"用户自定义变量"实现参数化 2. 在SQL Query中使用占位符传递参数 (1)传递的参数值是常量 (2)传递的参数值是变量 3.Variables names参 ...

  2. python数据库-MySQL数据库高级查询操作(51)

    一.什么是关系? 1.分析:有这么一组数据关于学生的数据 学号.姓名.年龄.住址.成绩.学科.学科(语文.数学.英语) 我们应该怎么去设计储存这些数据呢? 2.先考虑第一范式:列不可在拆分原则 这里面 ...

  3. 【Query】使用java对mysql数据库进行查询操作

    操作步骤: 1.加载数据库驱动(先在工程里加载数据库对应的驱动包) 2.获取连接 3.根据连接建立一个可执行sql的对象 4.执行sql语句 5.关闭连接 代码: package database; ...

  4. mybatis框架入门程序:演示通过mybatis实现数据库的查询操作

    我们现在工程基于的数据库见“https://www.cnblogs.com/wyhluckdog/p/10147754.html”这篇博文. 1.mybatis下载 mybatis的代码由githua ...

  5. 5- MySQL数据库SELECT查询操作

    复习: 数据类型: 数值型:整数(int,tinyint,smallint,bigint,mediumint) 浮点型(float ,double,decimal) 字符型:char(固定长度) ,v ...

  6. tp5 数据库Db查询操作

    $data = Db::query('select * from tf_action'); $data = Db::query('select * from tf_action where id &g ...

  7. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. mongodb_查询操作使用_条件查询、where子句等(转)

    <?php /*  mongodb_查询操作使用_条件查询.where子句等(转并学习)   1.find()/findOne() mongodb数据库的查询操作即使用find()或者findO ...

  9. Flask中Mysql数据库的常见操作

    from flask import Flask,render_template #导入第三方链接库sql点金术 from flask_sqlalchemy import SQLAlchemy #建立对 ...

随机推荐

  1. zuul网关入门(一、网关具有的功能)

    1. zuul网关入门(一.网关具有的功能) 1.1. 基本场景 1.1.1. API网关的由来 1.1.2. API网关基本功能 1.2. 高级应用 1.2.1. 亮点 可动态发布的过滤器机制 1. ...

  2. PHP常用设计模式讲解

    开发中适当的使用设计模式,可以让项目有更易扩展,易维护.低耦合,代码简洁等 单例模式 <?php /** * 单例模式:使类在全局范围内只允许创建一个对象,常用于数据库连接等 */ class ...

  3. JDBC编程,从入门到精通

    今天突然想多说两句,刚刚在知乎看到一个人说,在当今世界,没有技术型驱动的公司,全都是业务型.即便是表面上看似技术型公司,其本质还是为了服务业务.这段话推翻了我以前关于编程的所有看法,觉得颇有道理.下面 ...

  4. Android 普通通知栏新方法,现在需要创建通知渠道才可以

    先看看效果看看是不是你想要的 点击后 话不多所,贴代码 xml文件: <?xml version="1.0" encoding="utf-8"?>& ...

  5. partition分区

    1.按id拆分 mysql -uroot mysql>use test; mysql>create table topic ( tid ) not ),partition t1 value ...

  6. 9.Flask Cookie和Session

    1.1.概念 cookie:在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是为了解决这个问题,第 ...

  7. BBS论坛(十二)

    12.1.图形验证码生成 (1)utils/captcha/init.py import random import string # Image:一个画布 # ImageDraw:一个画笔 # Im ...

  8. 『土地征用 Land Acquisition 斜率优化DP』

    斜率优化DP的综合运用,对斜率优化的新理解. 详细介绍见『玩具装箱TOY 斜率优化DP』 土地征用 Land Acquisition(USACO08MAR) Description Farmer Jo ...

  9. Java基础19:Java集合框架梳理

    更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...

  10. MySQL8.0.12 安装及配置、读写分离,主从复制

    一.安装 1.从网上下载MySQL8.0.12版本,下载地址:https://dev.mysql.com/downloads/mysql/ 2. 下载完成后解压 我解压的路径是:D:\Java\mys ...