SQL系统复习

原创 2005年03月03日 18:13:00

简单查询

  1. 选择列
    1. 查询所有的记录
      select * from scott.emp
    2. 查询所有记录的某些字段
      select empno,ename,job from scott.emp
    3. 查询某些字段不同记录
      select distinct job from scott.emp
      这里的“distinct”保留字指在显示时去除相同的记录,与之对应的是“all”将保留相同的记录,默认为“all”。
  2. 选择行
    1. 单条件过滤
      select empno,ename,job from scott.emp where job ='MANAGER'
      select empno,ename,sal from scott.emp where sal<=2500
      单条件查询使用的比较运算符
      =(等于)
      != (不等于)
      ^=(不等于)
      <>(不等于)
      <(小于)
      >(大于)
      <=(小于等于)
      >=(大于等于)
      in(列表)
      not in(不在列表)
      between(介于之间)
      not between (不介于之间)
      like(模式匹配) (like和not like适合字符型字段的查询,%代表任意长度的字符串,_下划线代表一个任意的字符。)
      not like (模式不匹配)
      Is null (是否为空)
      is not null(是否为空)
    2. 组合条件过滤
      select empno,ename,job from scott.emp where job>='CLERK' and sal<=2000
      select empno,ename,job from scott.emp where not job='CLERK'
      逻辑比较符
      and(与) or (或) not(非)
    3. 排序结果
      select empno,ename,job from scott.emp where job<='CLERK' order by job asc,sal desc
      asc代表升序排列,desc代表降序排列,多个排序字段之间通过逗号分割。
    4. 分组结果
      分组查询是指将查询结果按照字段分组。
      下面列出留言本中留言超过十条的所有人,并按留言数递减排序。
      select guestbook.posterid,classmates.name,count(guestbook.postid) from guestbook inner join
      classmates on guestbook.posterid = classmates.id
      group by classmates.name,guestbook.posterid having count(guestbook.postid)>10 order by count(guestbook.postid) desc
      输出字段中的非聚合字段必须出现在group by子句里。输出结果:
      7 涛哥 38
      21 朱宇 35
      24 谢计可 23
      1 建文 21
      103 阚军伟 20
      11 1 19
      3 任龙 11
      where检查每条记录是否符合条件,having是检查分组后的各组是否满足条件。

联接查询

  1. 无条件联接
    无条件联接查询是将各表的记录以“笛卡尔”积的方式组合起来。
        如scott.dept表共有4条记录,scott.emp表共有14条记录,其“笛卡尔”积将有4*14=56条记录。
    select emp.empno,emp.ename,emp.deptno,dept.dname,dept.loc from scott.emp,scott.dept
  2. 条件联接
    1. Where子句联(下面的结果与内联结果是一样的)
      -- Join in WHERE clause.
      USE pubs
      SELECT t.title_id, t.title, s.qty
      FROM titles AS t, sales AS s
      WHERE t.title_id *= s.title_id
    2. From 子句联(就是Join联接)
      1. 内联接(INNER JION )
        SELECT t.title_id, t.title, s.qty FROM titles AS t INNER JION sales AS s ON t.title_id *= s.title_id
      2. 外联接(OUTER JOIN)
        SELECT a.au_fname, a.au_lname, p.pub_name
        FROM authors a LEFT OUTER JOIN publishers p
           ON a.city = p.city
        ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC
        注:在内部连接中,参与连接的表的地位是平等的。在外部连接中,参与连接的表有主从之分,以主表的每行数据去匹配从表的数据列,符合连接条件的数据将直接返回到结果集中,对那些不符合连接条件的列,将被填上NULL 值后再返回到结果集中。
      3. 交叉联接(CROSS JOIN)
        多种联接形式不一,却可互换,不说了这个。

to be continued........

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

相关文章推荐

数据库系统概念(机械工业出版社,第六版)复习——第三章:SQL

第三章       SQL SQL功能及操作符 数据查询:select 数据定义:create  alter  drop 数据操纵:insert   update   delete...

数据库系统概论复习总结3 --- 第二章关系数据库标准语言SQL

3.1 SQL 概念 ===结构化查询语句 3.1.2 SQL的特点 1、综合统一 2、高度非过程化 3、面向集合的操作方式 4、以同一种语法结构提供多种使用方式 3.1.3 ...

[数据库系统概论] SQL中容易混淆的Group By和Order By

原文地址:http://www.cnblogs.com/rainman/archive/2013/05/01/3053703.html 一、概述 “Group By”从字面意义上理解就是根据“By...

【hibernate】将SQL Server数据库里的表导出到本地Excel文件,并读取系统当前时间命名文件

最近在做毕业设计,用java写代码,碰到各种各样的问题,在网上搜寻了资料,非常感谢一些网友的帮助,我也把自己一些小成果拿出来晒晒,希望给其他朋友一点帮助!   public class Expor...

动易系统SiteWeaver™CMS6.8SQL Ac正版Build-090918-源代码下载QQ群:55317566.

动易系统PowerEasy® SiteWeaver™ CMS 6.8 SQL Build 090918 - [源代码下载]. Asp-动易PowerEasy®SiteWeaver™CMS6.8讨...

简单了解数据库,数据库管理系统,SQL

数据库为什么会出现数据库呢?当然为了方便数据的组织,存储和管理,数据库就像一个仓库一样专门为了存放各种各样的数据,有了数据库数据就像有了一个最美好的归宿一样,而不是随地安家,导致很多双胞胎,多胞胎数据...

SQL Server 系统表介绍:dm_exec_connections

管理视图

Sql Server中系统函数有哪些

 一、字符串函数 len(expression) 返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格。 datalength(Char_expr) 返回字符串包含字符数,但...

Win10系统安装SQL 2010教程

Win10系统安装SQL 2010 昨天刚刷的Windows10系统,写一下自己安装SQL2010的过程吧,当做经验(之前忘记截图了,有些图片网上转的)。 win8和win10安装SQ...

Sql Server数据库开发之触发器及CharIndex系统函数的用法

触发器: 触发器是数据库表的触发器,主要是在对表的插入、修改、删除等操作时执行的一段代码,用来作为该表的约束。 实例说明: 在一个问题上报案例中,当一个问题事件上报到数据库表中时,即在数据库表插...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)