当前位置: 首页 > news >正文

哪个网站可以做照片分享百度站长链接提交平台

哪个网站可以做照片分享,百度站长链接提交平台,南阳logo设计公司,优化网站seo公司文章目录 根据子查询结果分类子查询书写位置标量子查询举例 列子查询 in/ not in常用操作符举例 行子查询举例 表子查询举例问题:我要查询 tb_emp 和 tb_dept 的所有列,为什么是使用select e.*,d.*,而不是使用 select *? SQL语句中…

文章目录

  • 根据==子查询==结果分类
  • 子查询书写位置
  • 标量子查询
    • 举例
  • 列子查询 in/ not in
    • 常用操作符
    • 举例
  • 行子查询
    • 举例
  • 表子查询
  • 举例
    • 问题:我要查询 tb_emp 和 tb_dept 的所有列,为什么是使用select e.*,d.*,而不是使用 select *?

  1. SQL语句中嵌套select语句,称为嵌套查询,又称子查询。
  2. 子查询外部的语句可以是insert / update / delete / select 的任何一个,最常见的是select。
SELECT * 
FROM t1
WHERE column1 = ( SELECT column1 FROM t2... );

根据子查询结果分类

  1. 标量子查询(子查询结果为单个值[一行一列]) where XX = (SELECT XX);where的条件和select 的内容相等。
  2. 列子查询(子查询结果为一列,但可以是多行)
  3. 行子查询(子查询结果为一行,但可以是多列)
  4. 表子查询(子查询结果为多行多列[相当于子查询结果是一张表])
    • 表和表之间的查询,更多的是 使用连接(外连接,内连接等),连接就要用on关键字 写连接条件
    • 不能用where XX= (select XX),因为子查结果是表,可能xx有多个值,可以换成in。

子查询书写位置

  1. where之后
  2. from之后
  3. select之后

标量子查询

子查询返回的结果是单个值(数字、字符串、日期等),最简单的形式,这种子查询称为标量子查询。
常用的操作符: = < > > >= < <=

举例

-- 标量子查询
-- 查询 教研部 所有员工信息
-- 1. 查教研部的信息
select *
from tb_dept
where tb_dept.name = '教研部';-- 2. 查员工的信息
select *
from tb_emp
where tb_emp.dept_id = 2;-- 子查询输出
select *
from tb_emp
where tb_emp.dept_id = (select idfrom tb_deptwhere tb_dept.name = '教研部');-- 查询在 "方东白" 入职之后的员工信息
-- 1. 先查方东白的入职时间
select tb_emp.entrydate
from tb_emp
where tb_emp.name = '方东白';-- 2. 再查入职时间大于他的员工信息
select *
from tb_emp
where tb_emp.entrydate >(select tb_emp.entrydatefrom tb_empwhere tb_emp.name = '方东白');

列子查询 in/ not in

子查询返回的结果是一列(可以是多行),这种子查询称为列子查询。

常用操作符

在这里插入图片描述

举例

XXX的员工信息(定语)

-- 列 子查询
-- 查询"教研部"和"咨询部"的所有员工信息
-- 1.先查 "教研部" 和 "咨询部" 的id
select tb_dept.id
from tb_dept
where name = '教研部' or name = '咨询部';-- 2.根据部门id在员工表中找对应的信息
select *
from tb_emp
where tb_emp.dept_id = 2 or tb_emp.dept_id = 3;-- 合并以上两条sql语句
select *
from tb_emp
where dept_id in (select tb_dept.idfrom tb_deptwhere name = '教研部' or name = '咨询部');

行子查询

  1. 子查询返回的结果是一行(可以是多列),这种子查询称为行子查询
  2. 常用的操作符:= 、<> 、IN 、NOT IN

举例


-- 行 子查询
-- 查询与"韦一笑"的入职日期及职位都相同的员工信息
-- 1. 先查韦一笑的入职日期和职位
select entrydate,job
from tb_emp
where name ='韦一笑';-- 2.再在员工表中查 与他相同的员工的信息
select *
from tb_emp
where (entrydate,job) = ('2007-01-01',2);-- 合并上面2条sql语句
select *
from tb_emp
where (entrydate,job) = (select entrydate,jobfrom tb_empwhere name ='韦一笑');

表子查询

子查询返回的结果是多行多列,常作为临时表,这种子查询称为表子查询。

举例

XXX以及XXX(and的关系)

-- 表 子查询
-- 查询入职日期是 "2006-01-01" 之后的员工信息 , 及其部门信息
-- 1. 在员工表中查 入职日期是 "2006-01-01" 之后的员工信息
select *
from tb_emp
where entrydate > '2006-01-01';-- 2. 基于上表查询到的员工信息,再查询对应的部门信息
-- 下面这个不对,查出来只有部门信息,缺失了员工信息了
select *
from tb_dept
where id in (select dept_id
from tb_emp
where entrydate > '2006-01-01');-- 下面这个是正确的
select e.*,d.*
from (select *from tb_empwhere entrydate > '2006-01-01') as e left join tb_dept as d
on d.id = e.dept_id;

问题:我要查询 tb_emp 和 tb_dept 的所有列,为什么是使用select e.,d.,而不是使用 select *?

在这里插入图片描述

http://www.dtcms.com/a/530655.html

相关文章:

  • 网站怎么利用朋友圈做推广短链接生成源码
  • 凡科建设网站别人能进去么做论坛网站 备案吗
  • 织梦网站怎样做seo南沙定制型网站建设
  • 义乌建设公司网站长春做网站费用
  • 海口智能建站详情徐州服饰网站建设
  • 包头移动官网网站建设政务网站设计
  • 有哪些育儿类网站做的比较好用护卫神做共享网站
  • jsp个人网站怎样做莱芜都市网旗下论坛
  • 网站导航条用什么做如何注册网站怎么注册
  • 高端网站建设公司哪里济南兴田德润实惠吗北京金山办公软件公司
  • 宿州网站建设公司天宁寺网站建设
  • 陇南网站建设个人域名可以做网站吗
  • 微信上如何做网站官方网站开发制作公司
  • html教程网站响应式环保网站
  • i深圳网站建设微信一键登录网站怎么做
  • 网站模版网网页视频怎么下载保存
  • 南宁网站建设seo优化营销制作网页设计图片排版模板
  • 深圳福田网站建设专业公司wordpress最新淘宝客程序
  • 做物流网站电话合肥做网站的公司百度
  • 龙岩网站制作设计高端网站建设公司兴田德润在那里
  • 创意网站建设欣赏北京 科技网站建设
  • 外贸俄罗斯俄语网站开发html用什么软件编写好一点
  • 建设网站第一步沈阳公司网站设计
  • python做网站挣钱软件工程开发流程
  • 网站建设公司电话销售四川省建设网
  • 金华手机模板建站在线网站建设诚信经营
  • wordpress 代做网站服务器搭建要多少钱
  • 做网站点击挣钱不做网站都是花钱吗
  • 蓝色高科技网站模板哪个公司做网站最好
  • 数字营销网站建设微信公众号做推送的网站