易截截图软件、单文件、免安装、纯绿色、仅160KB

sql嵌套子查询

子查询:
使用子查询的原则
1.一个子查询必须放在圆括号中。
2.将子查询放在比较条件的右边以增加可读性。
子查询不包含 ORDER BY 子句。对一个 SELECT 语句只能用一个 ORDER BY 子句,
并且如果指定了它就必须放在主 SELECT 语句的最后。
ORDER BY 子句可以使用,并且在进行 Top-N 分析时是必须的。
3.在子查询中可以使用两种比较条件:单行运算符和多行运算符。
子查询的类型
单行子查询:从内 SELECT 语句只返回一行的查询
多行子查询:从内 SELECT 语句返回多行的查询
单行子查询
单行子查询是从内查询返回一行的查询。在该子查询类型中用一个单行操作符。幻灯片中列出了单行操作符。

显示那些 job ID 与雇员 141 相同的雇员。
SELECT last_name, job_id
from employees
WHERE job_id =
(SELECT job_id
from employees
WHERE employee_id = 141);
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);
显示 job ID 与雇员 141 相同,并且薪水 高于雇员 143 的那些雇员。
注:外和内查询可以从不同的表中取得数据。
SELECT last_name, job_id, salary
from employees
WHERE salary =
(SELECT MIN(salary)
from employees);
求所有人谁的工资最小。
SELECT department_id, MIN(salary)
from employees
GROUP BY department_id
HAVING MIN(salary) >
(SELECT MIN(salary)
from employees
WHERE department_id = 50);
求每个部门的最小工资,但是要高于50号部门的工资。
SELECT employee_id, last_name
from employees
WHERE salary =
(SELECT MIN(salary)
from employees
GROUP BY department_id);
问题出现在:单行子查询返回了多个查询值;
应改为:
SELECT employee_id, last_name
from employees
WHERE salary in
(SELECT MIN(salary)
from employees
GROUP BY department_id);
SELECT last_name, job_id
from employees
WHERE job_id =
(SELECT job_id
from employees
WHERE last_name = 'Haas');
如果子查询返回的是零值,不会对主程序造成影响;
如果子查询返回的是空值,那么会影响主程序的返回值;
SELECT employee_id,
last_name
f


相关文档:

ORACLE索引介绍与高性能SQL优化

什么是索引
  
  索引是建立在表的一列或多个列上的辅助对象,目的是加快访问表中的数据;
  
  Oracle存储索引的数据结构是B*树,位图索引也是如此,只不过是叶子节点不同B*数索引;
  
  索引由根节点、分支节点和叶子节点组成,上级索引块包含下级索引块的索引数据,叶节点包含索引数据和确定行 ......

Sql Server 2008 Reporting Services系列(一)

一、了解Reporting Services
     Sqlserver Reporting Services是微软的数据库报表设计工具,它集成在微软的商业智能开发工具:SQL Server Business Intelligence Development Studio之中,这个工具其实就是大家熟悉的Visual Studio,利用Reporting Services我么能够高效的开发数据报表,Reporting S ......

SQL Server 2000 数据库同步(转载)


为什么要同步SQL Server 2000 数据库,它都用在什么场合
数据实时备份同步,数据库服务器出问题时我们也有其正常工作时的备份
数据实时备份同步,一台服务器负载不起时,可以用来做负载均衡
数据实时备份同步,数据库服务器可以无间断,无损失迁移
主服务器被攻击或当机时另一台服务同步机可以应急
。。。。。可以说 ......

select 1 from ... sql语句中的1代表什么意思?

select 1 from table;与select anycol(目的表集合中的任意一行) from table;与select * from table 从作用上来说是没有差别的,都是查看是否有记录,一般是作条件查询用的。select 1 from 中的1是一常量(可以为任意数值),查到的所有行的值都是它,但从效率上来说,1>anycol>*,因为不用查字典表。 ......

mysql中的SQL分析工具

Another Look at MySQL 5.1's SQL Diagnostic Tools
http://dev.mysql.com/tech-resources/articles/mysql_51_diagnostic_tools.html 数据库的性能决定因素:
(1)数据库的设计
(2)SQL代码 可以用以下几种方法来解决一些性能问题:
(1)索引
(2)水平分区
(3)列适应的表
colum ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号