一 查询语句

1 distinctkeyword消除反复行

当查询的结果数据中出现反复数据时。在查询条件中加上distinctkeyword消除反复行;
如:select distinct Sno from SC;

2 like匹配的通配符%和_

% :代表随意长度(包含0)的字符串,比如:like'a%b',表示以a开头。以b结尾的随意长度的字符串。
_ :代表随意单个字符。注意数据库的字符集为ASCII时一个汉字须要两个_,当字符集为GBK时仅仅须要一个_。比如:like'欧阳__';
注:当要查询的字符串本身就含有通配符%或_,这时就要用escape<'换码字符'>短语。对通配符进行转义了,比如:select  Cno,Ccredit from Course where Cname
like 'DB\_Design' escape '\';   escape'\'表示“\”为换行字符,这样匹配串中紧跟在“\”后面的字符“_”不再具有通配符的含义。转义为普通的“_”字符

3  涉及空值的查询

当查询某个字段值为空的条件下,字段与字段值之间要用"IS",不能用"="取代。比如:  select   Sno,Cno from SC where Grade IS NULL;

4  有关升序降序

如:select * from Student order by Sdept, Sage desc;
查询结果按所在系的系号(Sdept)升序排列,同一系中的学生按年龄降序排列

5  关于聚集函数的一些注意

在聚集函数(如:count() sum() avg() max() min()等)遇到空值时,都跳过空值而仅仅处理非空值。注意:where字句中是不能用聚集函数作为条件表达式的

6   group by分组条件中的having短语指定筛选条件

假设group by分组后。还要要求按一定的条件对这些组进行筛选,终于仅仅输出满足指定条件的组,能够使用having短语指定筛选条件;
如:select Sno from SC group by Sno having count(*) > 3;       这里先用group by字句按Sno进行分组。然后再用聚集函数count 对每一组计数,having短语给出了选择组的条件。仅仅有满足条件的组(即元组个数>3)才会被选出来
注意:where字句作用于基本表或视图,从中选择满足条件的元组。having短语作用于组,从中选择满足条件的组

7   关于嵌套查询的注意

嵌套查询是将一个查询块(子查询)嵌套在还有一个查询块(父查询)的where字句或having短语的条件中的查询。
须要特别指出的是,子查询的select语句中不能使用order by字句,order by字句仅仅能对终于查询结果排序

8   带有exists谓词的子查询

exists代表存在量词。所以带有exists谓词的子查询不返回不论什么数据,仅仅产生逻辑真‘TRUE’,或逻辑假‘FALSE’。

比如:select Sname from Student where exists (select * from SC where Sno=Student.Sno and Cno='1');
由exists引出的子查询,其目标列表达式通经常使用*,由于带exists的子查询仅仅返回真值或假值,给出别名无实际意义

9   集合查询

集合操作主要包含并操作UNION,交操作INTERSECT和差操作EXCEPT。
union的使用比較多,将多个查询结果合并起来,系统会自己主动去掉反复元组,假设要保留反复元组则用union all操作符。
intersect的使用是获取多个查询结果中同样的结果(即取交集)
except的使用是用前一个查询结果减去后一个查询结果(即取差集)

二 插入语句

1  插入子查询结果

子查询不仅能够嵌套在select语句中。也能够嵌套在insert语句中。用以生成要插入的批量数据
比如:insert into Dept_age(Sdept, Avg_age)  select Sdept, avg(Sage) from Student group by Sdept;

三 改动语句

1  改动表中全部数据的值

如:update Student set Sage=Sage+1;

四 模式的删除

删除模式语句:drop schema  <模式名> <cascade | restrict>
选择cascade(级联),表示在删除模式的同一时候把该模式中所有的数据库对象所有一起删除
选择restrict(限制),表示假设该模式中定义了下属的数据库对象(如:表,视图等)。则拒绝该删除语句的运行。仅仅有当该模式下没有不论什么下属的对象时才干运行drop schema语句

SQL操作语句中的注意点的更多相关文章

  1. mysql简单的sql操作语句

    一,常用.简单的SQL操作语句 1.数据库操作: 1)创建数据库: create database database_name: 创建并设置字符编码 create database database_ ...

  2. mongodb 操作语句与sql操作语句对比

    上行:SQL 操作语句 下行:Mongo 操作语句 CREATE TABLE USERS (a Number, b Number) db.createCollection("mycoll&q ...

  3. Microsoft SQL - 操作语句

    操作语句(Operation Statement) 操作数据库 创建数据库 关键字:create database 用于创建各种数据库对象(数据库.表.触发器.存储过程等) 格式如:create &l ...

  4. SQL操作语句

    SQL语句与Mysql的语句大体上比较相似.以下是sql server的一套练习题,是很好的数据库操作语句学习资料,学校的学习资料,在此整理了以下. 数据库exam:这是一个模拟电子商务,网上直销的数 ...

  5. 关于sql查询语句中的别名

    sql语句中给子查询或其他查询类型加别名的时候可能会报错 java.sql.SQLException: 无法转换为内部表示 原因是select返回类型的实体类中没有写该别名 原来的实体类 更改后的实体 ...

  6. SQL 操作语句

    SQL Server T-SQL高级查询 高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student; --all 查询所有 ...

  7. SQL查询语句中的 limit offset(转 )

    经常用到在数据库中查询中间几条数据的需求 比如下面的sql语句: ① selete * from testtable limit 2,1; ② selete * from testtable limi ...

  8. SQL操作语句之查询及删除重复记录的方法

    delete from 表 where id not in(select min(id) from 表 group by name ) //删除重复名字的记录 删除之前请用语句 select * fr ...

  9. 关于SQL连接语句中的Integrated Security=SSPI/ture/false

    解决方法:即:Security Support Provider Interface设置Integrated Security为 True 的时候,连接语句前面的 UserID, PW 是不起作用的, ...

随机推荐

  1. fedora linux平台下搭建lighttpd+php+sqlite

    (一)lighttpd 1. 安装 yum install lighttpd 安装完毕后,系统中应该多了一个用户lighttpd和组lighttpd.这个用户,默认是不同意登陆的. 我们改动/etc/ ...

  2. HTTP求

    client联系server后,至server获取问题 Web 新闻资源,简称client至server发送一个 HTTP 求. 一个完整的 HTTP 该请求包含以下示例: ① ②若干消息头(请求头) ...

  3. MVC快速分页

    .NET手记-ASP.NET MVC快速分页的实现   对于Web应用,展示List是很常见的需求,随之而来的常见的分页组件.jQuery有现成的分页组件,网上也有着大量的第三方分页组件,都能够快速实 ...

  4. C++primer读书笔记9-转换和类类型

    有时指定自己的类类型来表示某些类型的数据,如SmallInt,然后在为了便于计算将指定一个转换算,类类型,在某些情况下,自己主动转换为指定的类型 <1>转换操作符 operator typ ...

  5. c++分割字符串(类似于boost::split)

    由于c++字符串没有split函数,所以字符串分割单词的时候必须自己手写,也相当于自己实现一个split函数吧! 如果需要根据单一字符分割单词,直接用getline读取就好了,很简单 #include ...

  6. GUIForDebug

    package gui; import org.luaj.vm2.Globals; import org.luaj.vm2.LuaValue; import org.luaj.vm2.ast.Chun ...

  7. Ubuntu通过使用PyCharm 执行调试 Odoo 8.0 可能的问题

    实现步骤,请移步http://shine-it.net/index.php?topic=16603.0 或 http://www.mindissoftware.com/2014/09/11/Run-O ...

  8. Amazon SQS简单介绍 上篇

    SQS即Simple Queue Service, 是一个分布式的消息队列服务,使用它很easy,消息队列服务能够用来buffer burst, 使整个服务异步处理,不要求组件始终可用. 开发者最初使 ...

  9. 【Linux探索之旅】第一部分第二课:下载Linux,免费的噢

    内容简介 1.第一部分第二课:下载Linux,免费的噢 2.第一部分第三课预告:测试并安装Ubuntu 下载Linux,免费的噢 大家好,上一课我们认识了非常“霸气侧漏”的Linux操作系统. 也知道 ...

  10. C#如何获得 WINDOWS 版本号

    using System; using System.Runtime.InteropServices; namespace GetWindowsVersion { [ StructLayout( La ...