ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL 基础+高级篇- 数据库 -sql -尚硅谷 89-101章 查询篇完结

2020-06-15 18:39:54  阅读:243  来源: 互联网

标签:salary employees MySQL 查询 89 sql WHERE id SELECT


查询篇终于学习完了,里面涉及了一些算法和思维,应该是mysql里面特别重要的一部分,明天有时间的话开新篇章

/*
子查询
出现在其他语句中的select语句,称为子查询或内查询
分类:
按子查询出现的位置
select 后面
from 后面表子查询
where 或 having 后面标量子查询
exists 后面(相关子查询)
标量子查询(结果只有一行一列)
行子查询(一行多列)
列子查询(一列多行)
表子查询
*/
/*
where 或者having后面
in,some,any,all
*/
SELECT 
  * 
FROM
  `employees`
WHERE salary> 
  (SELECT 
    salary 
  FROM
    `employees` 
  WHERE last_name = 'Abel')
 ;
 
SELECT 
  `last_name`,
  `job_id`,
  `salary`
FROM `employees`
WHERE 
  job_id=(SELECT 
    job_id 
  FROM
    `employees` 
  WHERE `employee_id` = 141)
  AND
  salary>(SELECT 
    salary 
  FROM
    `employees` 
  WHERE `employee_id` = 143) ORDER BY salary DESC;
  #any/some all,in,not in 实行于子查询
  
  SELECT `department_id` FROM `departments`
  WHERE `location_id` IN (1400,1700);
  
SELECT 
  last_name 
FROM
  `employees` 
WHERE `department_id` IN 
  (SELECT 
    `department_id` 
  FROM
    `departments` 
  WHERE `location_id` IN (1400, 1700)) ;

SELECT DISTINCT salary FROM
`employees`
WHERE `job_id`='IT_PROG';

SELECT 
  `employee_id`,
  `last_name`,
  job_id,
  salary 
FROM
  `employees` 
WHERE salary <(SELECT MAX( salary) FROM
`employees`
WHERE `job_id`='IT_PROG') AND   job_id<>'IT_PROG';


SELECT 
  a.*,
  (SELECT 
    COUNT(*) 
  FROM
    `employees` AS b WHERE a.`department_id` = b.`department_id`) 
FROM
  `departments` AS a ;
#四.exists 后面(相关子查询)
/*结果为0/1查询结果是否存在*/
SELECT EXISTS(SELECT employee_id FROM `employees`);
/*查询前n条信息
limit x,x+n
*/
SELECT * FROM `employees` LIMIT 1,5;
/*联合查询
union 联合 合并:将多条查询语句的结果合并成一个结果
语法:
union
union 的方便:
当查询的来自于多个表的时候,并且没有相关性,我们可以用Union来合并
*/
SELECT * FROM `employees` WHERE email LIKE
'%a%' 
UNION 
SELECT * FROM `employees` WHERE `department_id`>90;

SELECT * FROM `employees` WHERE email LIKE
'%a%' OR `department_id`>90;

标签:salary,employees,MySQL,查询,89,sql,WHERE,id,SELECT
来源: https://blog.csdn.net/yangzijiangac/article/details/106737938

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有