数据库的查询

高级查询

1.连接查询.对结果集列的扩展
select * from info,nation 会形成笛卡尔积,数据量大不建议使用连接查询
select * from info,nation where info.nation=nation.code
select * from info join nation on info.nation=nation.code

2.联合查询.对结果集行的扩展
select code.name from info(info里面的code)
union(联合)
select code.name from nation(nation里面的code)
查询的列的数量要相同

3.子查询

父查询(外层查询)
子查询(里层查询)

子查询查询出来的结果作为父查询的条件

①无关子查询
子查询在执行的时候和父查询没有关系(子查询可以单独执行)
父查询:select *from info where nation=()
子查询:select code from nation where name=‘汉族’
子查询查询出的条件可以作为父查询的条件
select * from info where nation=(子查询)

②相关子查询
子查询在执行的时候和父查询有关系(子查询不可以单独执行)

在查询中父查询会等待子查询查询完毕才会执行下一条父查询,子查询不能单独执行。

时间: 2024-08-09 06:57:13

数据库的查询的相关文章

lambda表达式封装对数据库的查询

前言: 1.为什么要封装lambda表达式数据库查询,原因有一下几点: 1.1.在以往的开发中进行数据库表查询时,其实所需要的字段就是其中几个,但是在开发中,开发者往往习惯select * 进行查询,当数据多和用户量多时,查询的效率会降低. 1.2.在写查询where条件的时候,总是用string.format去拼接字符串,开发效率低. 1.3.代码不够优雅,代码中嵌套和多sql语句,如果是表字段发生改变时编译器检查不出来,代码出错的概率大. 1.4.本着 write less  do more

数据库结构查询

--1:获取当前数据库中的所有用户表 select Name from sysobjects where xtype='u' and status>=0 --2:获取某一个表的所有字段 select name from syscolumns where id=object_id(N'表名') --3:查看与某一个表相关的视图.存储过程.函数 select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like

Oracle数据库,查询语句、内置函数

一.数据库的查询语句: 1.查询整个表: select * from 表名 例: 2.通过条件查询某一行数据: select * from 表名 where 字段名 例: 3.某一列数据去重查询: select distinct 字段名 from 表名 例: 4.查询的结果按某个字段升序或倒序排列:  select * from 表名 order by 字段名;                  在字段名的后面加desc为降序顺序排列 例: 5.查询某一列在某个范围内的数据: select *

struts2和数据库模糊查询

模糊查询是很常用的现在我给大家讲一下,废话不多说请看下面例子: 如需源代码请到http://blog.csdn.net/u014626784中下载,更详细,如有不懂请留言 struts2和数据库模糊查询,布布扣,bubuko.com

数据库分页查询

分页语句: Oracle: --这种分页查询方式不仅仅是针对单表的简单查询,对于最内层查询是复杂的 --多表联合查询或最内层查询包含排序的情况一样有效 SELECT * FROM ( SELECT ROWNUM RN , T.*  FROM (SELECT * FROM FTNEMR.PATIENT_VISIT) T WHERE ROWNUM <= 40 ) WHERE RN >= 21 ORDER BY PATIENT_ID; --这种方式比上面的方式要性能要低很多 SELECT * FRO

浅谈数据库联合查询

http://www.cnblogs.com/Candies/p/4142576.html 本文介绍以下内容: LFET JOIN.RIGHT JOIN.INNER JOIN.UNION.UNION ALL.FULL JOIN等! 测试数据(以下数据未经考证,非真实有效数据,仅作为本次学习的测试数据!) 全国大学排名TOP20 No. 校名 地区 校长 类型 1 北京大学 北京 周其凤 综合 2 清华大学 北京 顾秉林 理工 3 浙江大学 浙江 杨卫 综合 4 复旦大学 上海 杨玉良 综合 5

eImage(仅两行代码实现输出从数据库中查询到的二进制字段)标签

功能: 专门用于向浏览器输出从数据库中查询到的二进制字段.支持通用的几十种文件类型 别名为edoc 使用方法: <chtml><eimage id=书包名type=类型>key</eimage></chtml>或 <chtml><edocid==书包名 type=类型>key</edoc></chtml> ·        id:书包名.ESql标签返回的书包名称 ·        type:类型.输出文件类型

从Oracle数据库中查询前几个月数据时需要注意的一些问题

在最近的一个项目中,有一个需求就是要查询数据库中前几个月的历史数据,但是由于自己考虑不全面造成了程序的bug,现在将这一块好好作一个总结,希望以后不再犯这种很低级的错误,首先贴出查询中用到的一个子函数,然后就此作出详细的分析: private string AddMonths(string originalTime, int months) { string returnString = string.Empty; string[] dataAndTime = originalTime.Spli

MySQL、SqlServer、Oracle三大主流数据库分页查询 (MySQL分页不能用top,因为不支持)

一. MySQL 数据库 分页查询MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了.LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如果给出两个参数, 第一个参数指定返回的第一行在所有数据中的位置,从0开始(注意不是1),第二个参数指定最多返回行数.例如:select * from table WHERE … LIMIT 10; #返回前10行select * from table WHERE … LIMIT

ORACLE数据库常用查询二

ORACLE数据库常用查询 1.查看表空间对应数据文件情况: SQL> SELECT TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024 MB,AUTOEXTENSIBLE FROM DBA_DATA_FILES; TABLESPACE_NAME FILE_NAME MB AUTOEXTENSIBLE ------------------------------ ---------------------------------------------------