一 查询语句

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. SecureCRT 6.7.1 注冊机 和谐 破解 补丁 方法

    之前一直在用SecureCRT 6.5.3 版本号,和谐补丁也好找,甚至中文版本号也可找到(眼下仅仅找到了SecureCRT.6.2.0) 可是换为 6.7.1 后就怎么也注冊不了了.. 没办法试了各 ...

  2. Android Handler Message总结一下

    当应用程序启动时,会开启一个主线程(也就是UI线程).由她来管理UI.监听用户点击.来响应用户并分发事件等.所以一般在主线程中不要运行比較耗时的操作,如联网下载数据等,否则出现ANR错误.所以就将这些 ...

  3. 【原创】leetCodeOj --- Sliding Window Maximum 解题报告

    天,这题我已经没有底气高呼“水”了... 题目的地址: https://leetcode.com/problems/sliding-window-maximum/ 题目内容: Given an arr ...

  4. 第1周 SQL Server 如何执行一个查询

    原文:第1周 SQL Server 如何执行一个查询 大家好,欢迎来到第1周的SQL Server性能调优培训.在我们进入SQL Server性能调优里枯燥难懂的细节内容之前,我想通过讲解SQL Se ...

  5. javaweb学习总结(七)——HttpServletResponse对象(一)(转)

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. request和response对象即然代表请求和响应,那我们 ...

  6. mac开启22port

    mac开启22port 选择System prefrence -> sharing , 将remote login打开 測试是否打开 import socket s = socket.socke ...

  7. Codeforces Round #191 (Div. 2) D. Block Tower

    D. Block Tower time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  8. firefox os 2.0版模拟器QQ初体验

    供firefox os 爱侣.firefox os 手机迟迟没有感到些许遗憾在中国上市会,但是,我们必须相信firefox os 登陆中国是迟早的事,腾讯QQ已经登陆firefox os 应用市场,今 ...

  9. 【Java基金会】Java整理面试问题和评论(一)

    1. ArrayList,Vector, LinkedList 存储性能及特点 ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便添加和插入元素,它们都 ...

  10. $.ajax通路RESTful Web Service一个错误:Unsupported Media Type

    最近项目,使用头版jquery ajax访问背景CXF发布时间rest维修,结果遇到了错误"Unsupported Media Type". 公布的服务java代码例如以下: im ...