好孕美宝价格多少

好孕美宝价格多少█微信 号█:138★0226★9370█好孕美宝价格多少 ████ █助孕包成功█ ★█100%包男孩█ ★█

含义:

    出现在其他语句中(不仅仅是放在select语句中,在其它增删改中都可以用,只是用在查询中是最多的)的select语句,称为子查询或内查询

    外部的查询语句,称为主查询语句,称为主查询或外查询。

    示例:  SELECT first_name FROM employees WHERE

           department_id IN (SELECT department_id FROM departments

                    WHERE location_id=1700)

  分类:

    按子查询出现的位置:

        select后面:

        仅仅只支持标量子查询

        from 后面:

        支持表子查询(只要是个结果集就行)

        where或having后面:♦ --侧重点

        标量子查询  ♣

        列子查询   ♣

        行子查询(用的较少)

        exists后面(称为:相关子查询):

        表子查询(结果集)

    按结果集的行列数不同:

        标量子查询(又称为:单行子查询)(结果只有一行一列):
        列子查询(又称:多行子查询)(结果集只有一列多行):
        行子查询(结果集有一行多列):
        表子查询(结果集一般为多行多列):

一.where或having后面

1.标量子查询(单行子查询)

2.列子查询(单行子查询)

3.行子查询(有很多列,很多行)

特点:

1.子查询放在小括号内

2.子查询一般放在条件的右侧

3.标量子查询,一般搭配着单行操作符,其实就是条件运算符(> < >= <= = <>)使用

列子查询,一般搭配着多行操作符(常见的有:IN,ANY/SOME,ALL)使用

 4.子查询的执行优先于主查询执行,主查询的条件用到了子查询的结果

#1.标量子查询

#案列1:谁的工资比Abel高?

#(1)查询Abel的工资

select salary

from employees

where last_name = ‘Abel‘

#(2)查询员工的信息,满足salary>(1结果)

select *

from employees

where salary>(    #直接放where salary > 11000。这种被称为硬编码,如果(1)中Abel的工资变了,这种情况就不对了,还得修改

select salary      

from employees

where last_name = ‘Abel‘);

#案列2:返回job_id与141号员工相同,salary比 143号员工多的员工 姓名,job_id和工资

#(1)查询141号员工的job_id

select job_id

from employees

where employee_id = 141

#(2)查询员工号为143号的员工的工资

select salary

from employees

where employee_id = 143

#(3)查询员工 姓名,job_id和工资

select concat(first_name,‘-‘,last_name) as 姓名,job_id,salary

from employees

where job_id = (

select job_id     #这里只能select job_id这一个columns。多了会报错:Error Code:1241.Operand should contain 1 columns(1) . 如果查询的不是job_id 这个

from employees    #column,不会报错,但查不到任何内容如图:这里是将job_id改为first_name得到的结果:

where employee_id = 141)

and salary > (

  select salary

  from employees

where employee_id = 143

);

#案例3:返回工资最少的员工的last_name,job_id和salary

#(1)查询工资最少的员工的工资

select min(salary)

from employees

#(2)查询员工的last_name,job_id和salar

select last_name,job_id,salary

from employees

where salary = (

select min(salary)

from employees

);

 #案例4:查询最低工资大于50号部门最低工资的部门和其最低工资

#(1)50号部门的最低工资

select min(salary)

from employees

where department_id = 50

#(2)查询每个部门的最低工资

select min(salary),department_id

from employees

group by department_id;

#(3) 在(2)基础上筛选,满足min(salary)>(1)

select min(salary),department_id

from employees

group by department_id

having min(salary)>(

select min(salary)

from employees

where department_id = 50

);

#非法使用标量子查询

select min(salary),department_id

from employees

group by department_id

having min(salary)>(

select min(salary)  #如果是select salary。因为50号部门的员工的工资有很多。明明这儿应该用标量子查询,但是这儿用到了列子查询(多行子查询)。报错:Error Code:1242.Subquery returns more than 1 row.(子查询返回超过1row)

from employees

where department_id = 50  #如果选择一个不存在的部门:where department_id = 250(不存在值为250的department_id)。不报错,但这也属于非法使用。结果:

);

#2.列子查询(多行子查询)  #因为他的结果是一列多行

#案列1:返回location_id是1400或1700的部门中的所有员工姓名

#(1)查询location_id是1400或1700的部门编号

select department_id

from departments

where location_id in (1400,1700);

#(2)查询员工姓名,要求部门编号是(1)列表中的某一个

子查询实现:

select concat(first_name,‘-‘,last_name) as name,distinct department_id

from employees

where department_id in (

select department_id

from departments

where location_id in (1400,1700)

);

join实现:

select concat(employees.first_name,‘-‘,employees.last_name) as name,employees.department_id
from employees
inner join departments
on employees.department_id = departments.department_id
where location_id in (1400,1700)

#案列2:返回其它工种中(不包括‘IT_PROG‘)比job_id为‘IT_PROG‘任一工资低的员工的:工号,姓名,job_id,及salary

#(1)查询job_id为‘IT_PROG‘部门任一工资

select distinct salary

from employees

where job_id = ‘IT_PROG‘;

#(2)查询员工号,姓名,job_id以及salary,salary<any((1))的任意一个

select last_name,employee_id,job_id,salary

from employees

where salary<any(

select distinct salary

from employees

where job_id = ‘IT_PROG‘

) and job_id <> ‘IT_PROG‘;

#或

select last_name,employee_id,job_id,salary

from employees

where salary<any(

select max(salary)

from employees

where job_id = ‘IT_PROG‘

) and job_id <> ‘IT_PROG‘;

#案列3:返回其它工种中(不包括‘IT_PROG‘)比job_id为‘IT_PROG‘所有工资低的员工的:工号,姓名,job_id,及salary

select last_name,employee_id,job_id,salary

from employees

where salary < all(

select distinct salary

from employees

where job_id = ‘IT_PROG‘

) and job_id <> ‘IT_PROG‘;

#或

select last_name,employee_id,job_id,salary

from employees

where salary < (

select min(salary)

from employees

where job_id = ‘IT_PROG‘

) and job_id <> ‘IT_PROG‘;

#3.行子查询(结果集一行多列或多行多列)

select *   #行子查询:将多个字段(employee_id和salary),当成了一个虚拟的字段((employee_id,salary))来用 

from employees

where (employee_id,salary) = (  #用得不多,有局限性,要求两个筛选条件,或者更多的筛选条件都用的是=

select min(employee_id),max(salary)

from employees

)

#(1)查询最小的员工编号

select min(employee_id)

from employee

#(2)查询最高工资

select max(salary)

from employees

#(3)查询员工信息

select *

from employees

where employee_id = (

select min(employee_id)

from employees

) and salary = (

select  max(salary)

from employees

);

#二,放在select后面的子查询

#案例:查询每个部门的员工个数

select d.*,(

select count(*)

from employees e

where e.department_id = d.department_id

) as 个数

from departments d;

#案例2:查询员工号=102的部门名

select (

select department_name

from departments d

inner join employees e

on d.department_id = e.department_id

where e.employee_id = 102

) as 部门名;

 #三,from后面

将子查询结果充当一张表,要求必须其别名

#案例:查询每个部门的平均工资的工资等级

#(1)查询每个部门的平均工资

select avg(salary),department_id

from employees

group by department_id

select * from job_grades;

#(2)连接(1)的结果集和job_grades表,筛选条件平均工资between lowest_sal and highest

select ag_dep.*,g.grade_level

from (

select avg(salary) ag,department_id

from employees

group by department_id

) ag_dep

inner join job_grades g

on ag_dep.ag between lowest_sal and highest_sal

#四、exists后面的子查询(相关子查询)

/*

语法:

exists(完整的查询语句)

结果:

1或0

*/

select exists(select empooyee_id from employees);  #exists(是否存在,bool类型)只关心(select empooyee_id from employees)中是否有值,有值为1,没有值为0

select exists(select employee_id from employees where salary = 300000);

#案例1:查询有员工名的部门名

select department_name

from departments d

where exists(

select *

from employees e

where d.department_id = e.department_id

);

#案例2:查询没有女朋友的男神信息

#in

select bo.*

from boys bo

where bo.id not in(

select boyfriend_id

from beauty

);

#exists

select bo.* 

from boys bo

where not exists(

select boyfriend_id

from beauty b

where bo.id = b.boyfriend_id

);

原文地址:https://www.cnblogs.com/jingyinbaobei01/p/10566638.html

时间: 2024-10-04 03:25:57

好孕美宝价格多少的相关文章

专业淘宝价格管控解决方案找13819481080 QQ14094014651

专业淘宝价格管控解决方案找13819481080 QQ1409401465 记者观察发现,两家网站的风格和经营门类各有侧重,而消费者仍对保真.运输和退换货等服务存有担忧. "像苏宁.国美这样的大电商有自身优势,例如平台稳固.品牌效应.物流配送等,网拍也的确打破了线下拍卖的时空局限,受众必然更广."严先生表示,无论采取何种联姻方式,互联网和艺术品交易的跨界融合已是大势所趋. 除了各类主营艺术品拍卖业务的垂直电商外,淘宝.亚马逊和日本乐天等早就开始布局艺术品网拍领域.再加上一些拍卖行自行开

爬虫:淘宝价格

1 import requests 2 import re 3 4 def getHTMLText(url): 5 try: 6 r = requests.get(url, timeout = 30) 7 r.raise_for_status() 8 r.encoding = r.apparent_encoding 9 return r.text 10 except: 11 return "error_1" 12 13 def parsePage(ilt, html): 14 try:

充电宝:共享光环“附身”也上不了大台面

站在风口上,猪都能飞.这句互联网创业名言,被很多创业者奉为金科玉律.由此我们看到的是,很多创业者拼命向往风口里扎--获得融资太容易了,一不小心就能成为独角兽,由此名利双收.在共享经济风口兴起后,共享打车.共享单车.共享汽车等纷纷上马,如今又出现共享充电宝. 没错,就是那种能给智能移动终端充电,售价不过数十元的充电宝.一件并不起眼的东东,如今却想要借助共享经济风口趁势而起.看似美好的构思,却不一定真的成功.归根到底,风口不是那么好蹭的,充电宝还真上不了台面. 资本市场"饥渴" 共享充电宝

共享充电宝正春风得意,电池革命后何去何从?

继共享单车之后,共享篮球.共享雨伞.共享充电宝等各种花式共享项目如星星之火,呈燎原之势,而万达公子王思聪与聚美优品总裁陈欧一场关于"翔"的口水战,却让共享充电宝脱颖而出,成为共享圈中的"网红".就在前几日,陈欧表示未来聚美优品甚至还将向街电再投1亿美金,陈欧用实际行动对王思聪的言论作出了无声的回应,各路吃瓜群众纷纷表示已搬好板凳,坐等大戏上演. 事实上,这场商业大戏早已开演.公开数据显示,目前已有22家创业公司入场共享充电宝领域,包括BAT三巨头之二(腾讯.阿里巴巴

去塞班生子什么时候买机票比较好?

孕妈乘坐飞机也是塞班生子的重要流程之一,虽然中国直飞塞班生子的时间不像去美国本土那么长,但对于孕妈来说,四五个小时的飞行时间也容易产生疲劳,所以说塞班生子每一个环节都要注意,那么塞班生子准妈妈们如果想订机票,要先了解机票,下面唯美加海外整理了一些去塞班生子购买机票的省钱小技巧以及一些归国美宝乘飞机的注意事项! 1.孕妈去塞班生子什么时间的机票最便宜? 美国塞班岛机票在淡旺季浮动很大,要想省钱孕妈最好选择淡季启程,去美国塞班岛的旺季是在6-8月的暑假,孕妈避开这些旺季,美国塞班生子机票会相对来说便

2017年最权威的1000集大型web前端视频教程(爱创课堂出品)文后附录视频下载链接

2017年最新爱创课堂前端开发课程介绍爱创课堂Web前端开发工程师培训-价值1万8课程 资料持续更新中,第一时间领取请加QQ2079576908 Web前端开发工程师,主要职责是利用HTML.XHTML.CSS.JAVAScript.FLASH等各种Web前端技术进行客户端产品的开发.完成客户端程序(也就是浏览器端)的开发,开发JavaScript以及Flash模块,同时结合后台开发技术模拟整体效果,进行丰富互联网的Web前端开发,致力于通过技术改善用户体验. 第一阶段:页面制作基础 从这一基础

2016年最权威的1000集大型web前端视频教程(爱创课堂出品)

标题:2016年最权威的1000集大型web前端视频教程(爱创课堂出品): 爱创课堂Web前端开发工程师培训-价值1万8课程Web前端开发工程师,主要职责是利用HTML.XHTML.CSS.JAVAScript.FLASH等各种Web前端技术进行客户端产品的开发.完成客户端程序( 也就是浏览器端)的开发,开发JavaScript以及Flash模块,同时结合后台开发技术模拟整体效果,进行丰富互联网的Web前端开发,致力于 通过技术改善用户体验. 需要联系下载视频请加QQ:2079576908 第一

转知乎的文章 都用 Python 来做什么啊

大家都用 Python 来做什么啊? Tsing:谁说我是来看段子的... 首先上一首Python之禅: Python是一个非常好用的程序语言,开发的速度非常快.我用Python已经一年多了,从Python2.7到现在的Python3.4,也写了好多的小程序,其中大部分都是爬虫程序,下面简单列举几个,可怜了我科的各种系统. 0. 制作引文分析利器HistCite的便捷使用版本 怎么又出现了一个序号为零的啊!没错,这个又是我后来加上的,嘻嘻~ 对于整天和文献打交道的研究生来说,HistCite是一

攒机助手专业版6.00 破解版

软件名称:攒机助手专业版 软件版本:6.00软件语言:简体中文软件官网:http://bbs.luobotou.org/thread-3057-1-1.html更新日期:2015.01.23软件破解:Mrack 下载地址:http://pan.baidu.com/s/1m5ccQ 密码: yctf Ps:有能力的请支持下正版. 单机版授权:只能在一台电脑上使用,绑定机器码,10元 无限制授权:可在买家商店.工作室或公司电脑使用,不限数量,20元 正版购买地址: http://item.taoba