博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库的高级查询
阅读量:5290 次
发布时间:2019-06-14

本文共 1150 字,大约阅读时间需要 3 分钟。

高级查询

1.连接查询(对列的扩展)

第一种形式:

select * from Info,Nation #会形成笛卡尔积
select * from Info,Nation where Info.Nation = Nation.Code #加上筛选条件

select Info.Code,Info.Name,Sex,Nation.Name,Birthday from Info,Nation where Info.Nation = Nation.Code

#查询指定列

select Info.Code as '代号',Info.Name as '姓名',Sex as '性别',Nation.Name as '民族',Birthday as '生日' from Info,Nation where Info.Nation = Nation.Code #换表头

第二种形式:

select * from Info join Nation #join连接
select * from Info join Nation on Info.Nation = Nation.Code #join on关键字

2.联合查询(对行的扩展)
select * from Info where Nation = 'n002'
union
select * from Info where Code = 'p002'

3.子查询(无关子查询)

在一个SQL语句中,至少有两个查询,其中一个a查询的结果作为另一个b的查询条件,a成为里层查询或者子查询,
b成为外层查询或父查询。

查询民族为“汉族”的人员信息:

select * from Info where Nation =(select Code from Nation where Name = '汉族')

查询民族为“汉族”或者"回族"的人员信息

select * from Info where Nation in (select Code from Nation where Name = '汉族' or Name = '回族')

4.子查询(相关子查询)

查询同一系列的 油耗要比平均油耗低的汽车信息

子查询:select avg(Oil) from Car where Brand = ''

父查询:select * from Car where Oil< 平均油耗

select * from Car a where a.Oil <(select avg(b.Oil) from Car b where b.Brand = a.Brand)

 

转载于:https://www.cnblogs.com/chenchen0815/p/5547898.html

你可能感兴趣的文章
关于书签(BookMark)操作;
查看>>
查看Linux服务器的硬盘使用情况
查看>>
日报 18/06/20
查看>>
loj #6136. 「2017 山东三轮集训 Day4」Left
查看>>
java集合类
查看>>
学习资料
查看>>
java 18 - 8 HashMap和ArrayList的嵌套2
查看>>
Day21 Json & pickle 数据序列化
查看>>
内存结构。
查看>>
洛谷 [FJOI2014]最短路径树问题 解题报告
查看>>
欲望都市游戏设计 背景图层和UI图层的设计
查看>>
2-2 groovy基础知识-理论介绍
查看>>
Null Object Design Pattern (Python recipe)
查看>>
bootstrap学习笔记(6)
查看>>
leetcode : Valid Sudoku
查看>>
浅谈-Lambda
查看>>
storm 批处理(窗口)
查看>>
洛谷 P1052 过河
查看>>
Python3 从零单排28_线程队列&进程池&线程池
查看>>
java resources 红叉 Cannot change version of project facet Dynamic Web Module to 2.5
查看>>