数据库中表的复杂查询

数据库中表的复杂查询
	1、连接查询
		1.0连接的基本语法格式:
			from TABLE1 join_type TABLE2 [on (join_condition)][where (query_condition)]
			TABLE1:左表
			TABLE2:右表
			join_type:连接的类型。交叉、内连接、左外连接、右外连接
			on:设置连接条件
			where:对连接查询的结果进步一的筛选
		1.1交叉连接
			select * from CUSTOMER cross join ORDERS;
			或者
			select * from CUSTOMER,ORDERS;

			select c.name,o.order_number from CUSTOMER c,ORDERS o;
		1.2内连接:
			隐式内连接:(不使用on关键字,使用where)
				select * from CUSTOMER c,ORDERS o where c.id=o.customer_id;
			显式内连接:(使用on关键字)
				select * from CUSTOMER c inner join ORDERS o on c.id=o.customer_id;
		1.3外连接:
			左外连接:(返回符合连接条件的所有记录,同时还返回左表中其余的所有记录)
				select * from CUSTOMER c left outer join ORDERS o on c.id=o.customer_id;
			右外连接:(返回符合连接条件的所有记录,同时还返回右表中其余的所有记录)
				select * from CUSTOMER c right outer join ORDERS o on c.id=o.customer_id;
	2、子查询(嵌套查询)
		子查询: select * from orders where customer_id=(select id from customer where name='张三');
	3、联合查询
		SELECT * FROM orders WHERE price>200 UNION SELECT * FROM orders WHERE customer_id=1;
		取两条语句的并集,并去除重复的记录。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-17 05:01:43

数据库中表的复杂查询的相关文章

数据库中表的复杂查询&分页

一.数据库中表的复杂查询 1)连接查询 1.0连接的基本的语法格式: from TABLE1 join_type TABLE2 [on (join_condition)][where (query_condition)] TABLE1:左表 TABLE2:右表 join_type:连接的类型.交叉.内连接.左外连接.右外连接 on:设置连接条件 where:对连接查询的结果进步一的筛选 1.1交叉连接 select * from CUSTOMER cross join ORDERS; 或者 se

JDBC连接(MySql)数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能

主要内容:  JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十一个功能都放在一起. 安装下载的数据库驱动程序jar包,不同的数据库需要不同的驱动程序(这本该是第一步,但是由于属于安装类,所以我们放在最后) 一.JDBC连接数据库(编辑)步骤(主要有六个步骤).  1.注册驱动: Class.forName("com.mysql.jdbc.Driver"

Android 数据存储——SQLite实例、判断数据库中表是否存在

本文主要记录一下Android SQLiteDatabase中如何判断数据库中表是否存在,以及测试SQLiteDatabase数据库的基本操作.有关SQLite的详细说明,可以查看转载的Android 数据存储--SQLite使用详解 例子: AndroidManifest.xml--没有做任何修改,创建工程默认 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="

GP数据库笔记—表结构查询,表占用空间查询

GP数据库中表结构查询的方法: select d.nspname ,obj_description(d.oid) ,c.relname ,obj_description(c.oid) ,a.attnum ,a.attname ,e.data_type ,col_description(c.oid,a.attum) ,e.is_nullable ,case where e.data_type ~  'character' then e.character_maximum_length|| '' w

mysql数据库的优化和查询效率的优化

一.数据库的优化 1.优化索引.SQL 语句.分析慢查询: 2.设计表的时候严格根据数据库的设计范式来设计数据库: 3.使用缓存,把经常访问到的数据而且不需要经常变化的数据放在缓存中,能节约磁盘IO: 4.优化硬件:采用SSD,使用磁盘队列技术(RAID0,RAID1,RDID5)等: 5.采用MySQL 内部自带的表分区技术,把数据分层不同的文件,能够提高磁盘的读取效率: 6.垂直分表:把一些不经常读的数据放在一张表里,节约磁盘I/O: 7.主从分离读写:采用主从复制把数据库的读操作和写入操作

nagios数据库 主机相关信息查询

mysql> select a.host_object_id,a.display_name,a.address,b.hostgroup_id,b.alias from nagios_hosts a,nagios_hostgroups b,nagios_hostgroup_members c where c.host_object_id=a.host_object_id and c.hostgroup_id=b.hostgroup_id order by b.hostgroup_id;+-----

10-30C#数据库基础--(备份和还原、分离和附加数据库)、语句查询操作

一.数据库是一个大容量的存储数据的仓库,为了保证数据完整性,防止一些数据的意外丢失等情况,需要对数据进行备份和还原. 备份数据不影响数据库的正常运行. 1.备份.还原数据库 首先对数据库进行备份,操作步骤如下: 1)把鼠标放在在选择想要备份的数据库,右击“任务”--“备份”: 2)单击“确定”,弹出“备份数据库”的窗口,在备份类型下面,选择“仅复制备份”,选择“备份过期时间”,添加“目标备份到的位置”,单击“确定”. 3)弹出对话框:提示备份已成功执行. 还原: 备份完成后,删除该数据,利用还原

IOS开发数据库篇—SQLite模糊查询

IOS开发数据库篇—SQLite模糊查询 一.示例 说明:本文简单示例了SQLite的模糊查询 1.新建一个继承自NSObject的模型 该类中的代码: 1 // 2 // YYPerson.h 3 // 03-模糊查询 4 // 5 // Created by apple on 14-7-27. 6 // Copyright (c) 2014年 wendingding. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h

处理上百万条的数据库如何提高处理查询速度

处理上百万条的数据库如何提高处理查询速度.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引.2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=