SQL - 数据查询
数据查询是数据库的核心操作。SQL 提供了 select 语句进行数据查询,该语句的一般格式为:
select [ ALL | distinct ] <目标列表达式> [ ,<目标列表达式> ] …
from <表名或视图名> [ ,<表名或视图名> …] | (<select 语句>) [ AS ] <别名>
[ where <条件表达式> ]
[ group by <列名1> [ having <条件表达式> ] ]
[ order by <列名2> [ ASC | DESC ] ]
整个 select 语句的含义是:
根据 where 子句的条件表达式从 from 子句指定的基本表、视图或派生表中找出满足条件的元组,再按 select 子句中的目标列表表达式选出元组中的属性值形成结果表。
如果有 group by 子句,则将结果按 <列名1> 的值进行分组,该属性列值相等的元组为一个组。—— 通常会在每组中作用聚集函数。
如果 group by 子句带 having 短语,则只有满足指定条件的组才予以输出。
select 语句既可以完成简单的单表查询,也可以完成复杂的连接查询和嵌套查询。
3.4.1 单表查询
1、选择表中的若干列
(1)查询指定列 (很多情况下,用户只对表中的一部分属性列感兴趣)

(2)查询全部列

(3)查询经过计算的值

用户可以通过指定别名来改变查询结果的列标题,这对于含算术表达式、常量、函数名的目标列表达式尤为有用,如:

2、选择表中的若干元组
(1)消除取值重复的行

(2)查询满足条件的元组
查询满足指定条件的元组可以通过 where 子句实现。where 子句常用的查询条件如下:
① 比较大小
用于进行比较的运算符一般包括 =, >, <, >=, <=, != 或 <>, !>, !<
② 确定范围
谓词 between…and… 和 not between…and…(最好不要用带 not 的)可以用来查找属性值在(或不在)指定范围内的元组。
其中,between 后是范围的下限(即低值),and 后是范围的上限(即高值)(查询结果中包括上限和下限)
where Sage between 20 and 23 ;
③ 确定集合
谓词 in 可以用来查找属性值属于指定集合的元组。
where Sdept IN ( 'CS', 'MA', 'IS') ;
④字符匹配
谓词 like 可以用来进行字符串的匹配。
⑤ 涉及空值的查询
⑥ 多重条件查询
3、order by 子句
4、聚集函数
3.4.2 连接查询
若一个查询同时涉及两个以上的表,则称之为连接查询。
连接查询是关系数据库中最主要的查询,包括等值连接查询、自然连接查询、非等值连接查询、自身连接查询、外连接查询和复合条件连接查询等。
1、等值与非等值连接查询
SQL - 数据查询的更多相关文章
- SQL数据查询之——单表查询
一.SQL数据查询的一般格式 数据查询是数据库的核心操作.SQL提供了SELECT语句进行数据查询,其一般格式为: SELECT [ALL | DISTINCT]<目标列表达式>[,< ...
- sql数据查询基础笔记
使用SELETE语句进行查询 语法 SELECT<列名> FROM<表名> [ORDER BY <排序的列名>[ASC或DESC]] 1.查询所有的数据和列 SE ...
- SQL数据查询之——嵌套查询
一.概念描述 在SQL语言中,一个 SELECT-FROM-WHERE 语句称为一个查询块.将一个查询块嵌套在另一个查询块的 WHERE 子句或 HAVING 短语的条件中的查询称为 嵌套查询.例如: ...
- sql数据查询,在程序中较慢,在MS SQL2005 Management Studio中速度快,情况分析及解决
这两天遇到一个问题,在.net开发的网站,执行sql查询,从sql profiler中监控卡看,执行时间22s. 但是拷出的sql在Management Studio中直接执行,时间仅4ms. 解决方 ...
- SQL数据查询语句(一)
本文所用数据库为db_Test,数据表为Employee 一.SELECT语句基本结构 语句语法简单归纳为: SELECT select_list [INTO new_table_name] [FRO ...
- orcale 之 SQL 数据查询
从数据库中检索行,并允许从一个或多个表中选择一个或多个行或列.虽然 SELECT 语句的完整语法较复杂,但是其主要的子句可归纳如下: SELECT select_list [ INTO new_tab ...
- 面试题:sql数据查询
前几天参加一个面试,面试公司让做一套题,sql题不是很难,但是我第一次还是写错了,回来后,重新写了下.简单记录下吧, 1.题目: 2.测试数据 select * from student ; inse ...
- SQL数据查询
CREATE TABLE class0328( id INT, cname ), sex ), age INT, birthday DATE, html DOUBLE, js DOUBLE, scor ...
- SQL数据查询2
USE h CREATE TABLE zy1( empno INT, ename ), job ), mgr INT, hiredate DATE, sal DOUBLE, COOM DOUBLE, ...
随机推荐
- ZooKeeper分布式过程协同技术详解1——ZooKeeper的概念和基础
简介 分布式系统和应用,不仅能提供更强的计算能力,还能为我们提供更好的容灾性和扩展性. ZooKeeper是Google的Chubby项目的开源实现,它曾经作为Hadoop的子项目,在大数据领域得到广 ...
- Hexo搭建(VPS)
都说 hexo 是静态的 Blog,当时不明觉厉= =.后来终于知道了什么意思......所谓的静态,其实就是因为你不能改云端,而是依赖本地数据,然后使用命令将本地数据变成 web 数据再使用浏览器进 ...
- BZOJ 1037: [ZJOI2008]生日聚会Party(区间dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=1037 题意: 思路: 四维数组进行dp,dp[i][j][a][b]表示进行到第i个座位时已经有j个 ...
- React Native实现微信分享
(一)前言 现阶段大家在使用React Native开发项目的时候,基本都会使用到微信好友或者微信朋友圈分享功能吧,那么今天我就带大家实现以下RN微信好友以及朋友圈的分享功能. 刚创建的React N ...
- docker+jenkins实现spring boot项目持续集成自动化部署
一.首先jenkins与docker的安装参考下面链接 安装jenkins: https://www.cnblogs.com/jescs/p/7644635.html 安装docker:ht ...
- 前端阶段_html部分2后台frame的初始构架案例
1.<frameset cols="25%,75%"> 把页面分为1:3,并且使用frame的同时应该删除body标签 2.<frame src ...
- char,String,int类型互转
1.ascci码对应转换 字符,对应的ascii(其实是UTF-16)码: char c='a'; int k=(int) c; 结果k=97 数字,对应的字符: int k=9 ...
- StringBuilderWriter 这个类需要commons.io.2.6这个包才可以使用, 在maven仓库中搜
- 力扣(LeetCode)292. Nim游戏 巴什博奕
你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解. 编写一个函数,来判断你 ...
- ubuntu下安装anaconda
1. 到官网http://continuum.io/downloads下载anaconda. 选择linux64-bit-python2.7 2. 安装anaconda,在终端输入:cd ~/Do ...