数据库的高级查询

高级查询

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)

时间: 2024-11-25 01:50:38

数据库的高级查询的相关文章

【python】第二模块 步骤一 第四课、数据库的高级查询

第四课.数据库的高级查询 一.课程介绍 1.1 课程介绍 学习目标 数据统计分析 聚合函数.分组查询.HAVING子句 多表连接查询 内连接.外连接.以及多表查询的多种语法 子查询 单行子查询.多行子查询.WHERE子查询.FROM子查询.SELECT子查询 原文地址:https://www.cnblogs.com/miaophp/p/12670511.html

Sql Server数据库设计高级查询

-------------------------------------第一章  数据库的设计------------------------------------- 软件开发周期:     (1)需求分析     (2)概要设计     (3)详细设计     (4)编码     (5)集成测试     (6)上线运行     (7)后期维护 1,数据库设计步骤:     (1)收集信息     (2)标识对象(确定数据库中有哪些表)     (3)标识对象的属性(确定每个表中的例)  

oracle数据库的高级查询方法 多表联合查询

oracle查询 一,简单查询 order by 1,2 select t.sno, t.sname, t.ssex from STUDENT t order by 1,2,3 group by 增强版 SELECT p.toma, p.ptype, SUM(p.lastcou) FROM product p GROUP BY rollup(p.toma, p.ptype) 二,高级查询(多表连接查询) 笛卡尔积的概念: 所谓笛卡尔积,通俗点说就是指包含两个集合中任意取出两个元素构成的组合的集合

数据库整理——高级查询

# 注释-- 注释 -- 高级查询-- 连接查询SELECT t1.`Name`,t2.Brand_Name FROM brand t2,car t1 -- 笛卡尔乘积WHERE t2.Brand_Code = t1.Brand-- 多表连接查询SELECT t1.`Name`,t2.Brand_Name,t3.prod_name FROM car t1 LEFT JOIN brand t2 ON t1.Brand = t2.Brand_Code LEFT JOIN productor t3 O

Oracle数据库——SQL高级查询

一.涉及内容 1.掌握SELECT语句的多表连接查询. 2.掌握SELECT语句的子查询. 二.具体操作 (一)根据Oracle数据库scott方案下的emp表和dept表,完成下列操作: 1.查询所有工种为CLERK的员工的姓名及其部门名称. select ename,dname from scott.emp t1 inner join scott.dept t2 on t1.deptno=t2.deptno where job='CLERK'; 2.查询所有部门及其员工信息,包括那些没有员工

SQLAlchemy对数据库的高级查询操作

# 高级版查询操作,厉害了哦 #老规矩 from my_create_table import User,engine from sqlalchemy.orm import sessionmaker Session = sessionmaker(engine) db_session = Session() # 查询数据表操作 # and or from sqlalchemy.sql import and_ , or_ ret = db_session.query(User).filter(and

数据库部分---高级查询;

例子: 1.链接查询(查询多张表的数据,有外键关系的),是对查询后列的扩展 select * from 表名1,表名2;  #会形成笛卡尔积,几张表的数据挨个匹配,数据的数量是每张的数量相乘,会产生冗余: select * from 表名1,表名2 where 表名1.列名=表名2.列名:这样就去掉了冗余的数据: 上边的两个表结合后,有title和code重复的列,去掉多余的列:select 表1.列1,表1.列2,表1.列3....表2.列2.. from 表名1,表名2 where 表名1.

SQL 数据库的高级查询

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 * from Info join Nation on Info.Nation = N

T-SQL 数据库数据的高级查询

T-SQL  数据库常用高级查询大致分一下几类: (1)条件查询 (2)模糊查询 (3)排序查询 (4)去重查询 (5)分组查询 (6)子查询 原始表: 一,条件查询 I.查询某一行:  select*from 表名 where 列名='值' II.查询某一列:   select 列名 from 表名 二.模糊查询 select*from 表名 where 列名 like '%该列中包含的值%' %是通配符:I.%bbb%          包含bbb II.bbb%             以