数据查询是数据库的核心操作。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 - 数据查询的更多相关文章

  1. SQL数据查询之——单表查询

    一.SQL数据查询的一般格式 数据查询是数据库的核心操作.SQL提供了SELECT语句进行数据查询,其一般格式为: SELECT [ALL | DISTINCT]<目标列表达式>[,< ...

  2. sql数据查询基础笔记

    使用SELETE语句进行查询 语法 SELECT<列名> FROM<表名>  [ORDER BY <排序的列名>[ASC或DESC]] 1.查询所有的数据和列 SE ...

  3. SQL数据查询之——嵌套查询

    一.概念描述 在SQL语言中,一个 SELECT-FROM-WHERE 语句称为一个查询块.将一个查询块嵌套在另一个查询块的 WHERE 子句或 HAVING 短语的条件中的查询称为 嵌套查询.例如: ...

  4. sql数据查询,在程序中较慢,在MS SQL2005 Management Studio中速度快,情况分析及解决

    这两天遇到一个问题,在.net开发的网站,执行sql查询,从sql profiler中监控卡看,执行时间22s. 但是拷出的sql在Management Studio中直接执行,时间仅4ms. 解决方 ...

  5. SQL数据查询语句(一)

    本文所用数据库为db_Test,数据表为Employee 一.SELECT语句基本结构 语句语法简单归纳为: SELECT select_list [INTO new_table_name] [FRO ...

  6. orcale 之 SQL 数据查询

    从数据库中检索行,并允许从一个或多个表中选择一个或多个行或列.虽然 SELECT 语句的完整语法较复杂,但是其主要的子句可归纳如下: SELECT select_list [ INTO new_tab ...

  7. 面试题:sql数据查询

    前几天参加一个面试,面试公司让做一套题,sql题不是很难,但是我第一次还是写错了,回来后,重新写了下.简单记录下吧, 1.题目: 2.测试数据 select * from student ; inse ...

  8. SQL数据查询

    CREATE TABLE class0328( id INT, cname ), sex ), age INT, birthday DATE, html DOUBLE, js DOUBLE, scor ...

  9. SQL数据查询2

    USE h CREATE TABLE zy1( empno INT, ename ), job ), mgr INT, hiredate DATE, sal DOUBLE, COOM DOUBLE, ...

随机推荐

  1. 利用JavaScriptSOAPClient直接调用webService --完整的前后台配置与调用示例

    JavaScriptSoapClient下载地址:https://archive.codeplex.com/?p=javascriptsoapclient JavaScriptSoapClient的D ...

  2. 【selenium2】【selenium基础语法】

    #栗子 设置浏览器窗口大小 driver.set_window_size(480,800) #栗子 设置浏览器大小为最大maximize_window() 控制浏览器前进.后退 #栗子from sel ...

  3. hdu 6169 Senior PanⅡ Miller_Rabin素数测试+容斥

    Senior PanⅡ Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others) Pr ...

  4. TextView显示内容不全

    今天开发遇到一个问题,发现TextView显示不全,很纳闷,看图: 正常情况应该是这个样子的: 造成这种情况的原因是: TextView被快速并且多次的设置内容值造成的. 我的场景: 我点击全选按钮, ...

  5. 学习笔记31—endnote设置

    修改文献引用设置: JournalArticle: Author. (Year). Title. [Translated Title]. [Reviewed Item]. Journal|, Volu ...

  6. 异常上报工具:腾讯Bugly

    1.腾讯出了一个和umeng差不多的异常上报工具Bugly.(传送门:https://bugly.qq.com/docs/) (1)两者比较明显的区别是,Bugly能比较实时上报异常信息,经过测试基本 ...

  7. [C#]获取指定文件夹下的所有文件名(递归)

    典型的递归方法: //定义一个list集合 List<String> list = new List<String>(); public void director(strin ...

  8. 第 7 章 多主机管理 - 046 - 创建 Machine

    创建 Machine Machine 就是运行 docker daemon 的主机. “创建 Machine” 指的就是在 host 上安装和部署 docker. 创建第一个 machine: hos ...

  9. 线程---local数据隔离

    线程之间本身是数据共享的,当多个线程同时修改一份数据的时候,数据就可能不 准确,特别是线程量特别大的时候,为了保证数据准确性: (1) 通过线程锁Lock (2)通过local数据隔离 from th ...

  10. ThinkPHP实用项

    跟踪信息 – 两种模式 – Sql调试 – 性能调试