`
Xiaor
  • 浏览: 53409 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

常用查询和更新sql语句及细节问题

SQL 
阅读更多
一、查找语句
1、可以改变列名,使用表达式
select sname Name,'Year of Birth:' BIRTH,2004-Sage Birthday,LOWER(Sdept) DEPARTMENT
from Student;
2、Select Sname from Student where Sdept = 'CS'的查询过程是:RDBMS对Student执行全表扫描,取出一个元组,如果其Sdept='CS'则取出来,然后继续查询下一个元组,效率很慢。若在Sdept列建立索引,就可以避免全表扫表。
3、若用户要查询的字符串本身含有通配符%或_,则需要使用ESCAPE '<换码字符>',语句如下:
select cno,credit
from course
where cname like 'DB\_Design' ESCAPE '\';
4、Order by
select *
from Student
order by Sdept,Sage DESC
排序时,默认值是ASC,对于空值,若升序排列,空值排在最后面,若降序排列,空值排在最前面。
5、聚集函数
除Count(*)外,其他聚集函数都跳过空值处理非空值。对于AVG亦然,求平均是针对非空值。
select count(distinct sno)
from sc;
6、group by 同 having 结合使用,不可使用where
7、连接查询
连接运算符为=的连接成为等值连接,不为=的连接为非等值连接。这些连接不去掉重复的列。去掉重复列的连接成为自然连接。
8、外连接
外连接分为左外连接和右外连接。
Select Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
from Student LEFT OUT JOIN SC ON (Student.sno=SC.sno);

Select Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
from Student LEFT OUT JOIN SC USING(Sno);
9、相关子查询
select Sno,Cno
From SC x
where Grade >=
(Select Avg(grage)
from SC y
where x.Sno=y.Sno
);
10、集合查询
集合操作主要包括并操作UNION,交操作INTERSECT和差操作EXCEPT。参加集合操作的各查询结果的列数必须相同,对应项的数据类型也必须相同。
select * from SC
where Cno='1'
INTERSECT
select * from SC
where Cno='2'

二、更新语句
向表中添加、修改和删除若干行数据都看做更新。
1、插入数据
向表中插入数据可以插入一个元组,也可以插入一个子查询结果(可一次插入多个元组)。
insert into SC
VALUES('200215128','1',NULL);
如果没有指出SC的属性名,则对于空的列要显示指明null。
insert into Dept_age(Sdept,Avg_age)
select Sdept,AVG(Sage)
from Student
Group by Sdept;
2、修改数据
UPDATE SC
SET Grade = 0
where 'CS' = (Select Sdept FROM Student
              where Student.Sno=Sc.Sno);
3、删除数据
delete from Student;
delete from SC
where 'CS' = (Select Sdept FROM Student
              where Student.Sno=Sc.Sno);
分享到:
评论

相关推荐

    oracle常用的sql语句

    虽然oracle的很多语句和sql基本一样,但是有些细节还是略微不同,花了好长时间整理出来的,希望大家指出不足。

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    6.2.4 标识SQL语句以便以后取回计划 153 6.2.5 深入理解DBMS_XPLAN的细节 156 6.2.6 使用计划信息来解决问题 161 6.3 小结 169 第7章 高级分组 170 7.1 基本的GROUP BY用法 171 7.2 HAVING子句 174 7.3 GROUP...

    2009达内SQL学习笔记

    SQL语句可以在一行上写出,建议多行写出,便于阅读和调试。 多条SQL语句必须以分号分隔。多数DBMS不需要在单条SQL语句后加分号,但特定的DBMS可能必须在单条SQL语句后加分号。 SQL语句的最后一句要以 “;”号...

    SQL数据库的高级sql注入的一些知识

    [概 要] 这篇文章讨论常用的”sql注入”技术的细节,应用于流行的Ms IIS/ASP/SQL-Server平台。这里探讨有关这种攻击各种可以注入程序访问数据和数据库防范的方法。这篇文章面向两种读者:一是基于数据库web程序开发...

    SQL常考笔试题目

    企业常用SQL笔试题 ,可能你很熟悉SQL,但是有些小细节你不一定就知道, 大家不妨看一下

    PLSQLDeveloper下载

    Create or replace procedure procname(参数列表) as PL/SQL语句块 函数:Create or replace function funcname(参数列表) return 返回值 as PL/SQL语句块 为便于理解,举例如下: 问题:假设有一张表t1,有f1和f2两...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    22-利用explain查看sql语句的执行计划.avi 23-DML之修改表中的记录实战.avi 24-小试牛刀初步增量恢复MySQL数据实战.avi 25-某企业运维全套面试题解答.avi 26-DML之修改表及企业严重故障案例解决实战.avi 27-删除表中...

    公司年会大屏幕抽奖

    更新:修复了一个最近更新中出现的sql语句错误 更新:修复可能导致借用公众号无法获取到用户信息的bug 2016.7.2 更新:修改了签到方式,签到更简单,更美观,可后台自定义记录姓名和手机号 2016.6.14 更新:修复了一个...

    ASP.NET编程之道.part1.rar

    这是第一部分,需要两部分一起才能解压 目录: 第1篇 编程经验与感悟篇 第1章 编程感悟6则 感悟01 程序员的成长之路 ...第12章 常用的20个算法及应用 第6篇 解决方案篇 第13章 项目中经常用到的20个解决方案

    mysql官方中文参考手册

    13.6.2. 用于控制从服务器的SQL语句 13.7. 用于预处理语句的SQL语法 14. 插件式存储引擎体系结构 14.1. 前言 14.2. 概述 14.3. 公共MySQL数据库服务器层 14.4. 选择存储引擎 14.5. 将存储引擎指定给表 14.6. 存储...

    MYSQL中文手册

    8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. ...

    MySQL 5.1参考手册中文版

    8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. ...

    MySQL 5.1参考手册

    13.6.2. 用于控制从服务器的SQL语句 13.7. 用于预处理语句的SQL语法 14. 插件式存储引擎体系结构 14.1. 前言 14.2. 概述 14.3. 公共MySQL数据库服务器层 14.4. 选择存储引擎 14.5. 将存储引擎指定给表 14.6. 存储...

    MySQL 5.1中文手冊

    13.6.2. 用于控制从服务器的SQL语句 13.7. 用于预处理语句的SQL语法 14. 插件式存储引擎体系结构 14.1. 前言 14.2. 概述 14.3. 公共MySQL数据库服务器层 14.4. 选择存储引擎 14.5. 将存储引擎指定给表 14.6. 存储...

    MySQL 5.1参考手册 (中文版)

    13.6.2. 用于控制从服务器的SQL语句 13.7. 用于预处理语句的SQL语法 14. 插件式存储引擎体系结构 14.1. 前言 14.2. 概述 14.3. 公共MySQL数据库服务器层 14.4. 选择存储引擎 14.5. 将存储引擎指定给表 14.6. 存储...

    MySQL5.1参考手册官方简体中文版

    8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysql...

    MySql 5.1 参考手册.chm

    8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysql...

Global site tag (gtag.js) - Google Analytics