因为数据库SQL语句在各大产品中带有“方言性”,即SQLSERVER SYBASE都是用了T-SQL,Mysql是用的标准SQL,Oracle有有自己的PL/SQL。由于这种“方言性”的差异导致很多SQL语句在移植的时候产生困难,在异构数据库的时候显得很尴尬。当然对于DBA来说,无非是查查语法而已的事。但是终究是不方便。下面看看各数据库之间的语句差异

一、分页查询

1、SQL Server

select top X * from table_name  --查询前X条记录,可以改成需要的数字。
select top n * from (select top m * from table_name order by column_name ) a order by column_name desc  --查询第N到M条记录。常用的分页也是这种方式。
例如常用的分页方式:
declare @page int
declare @row int
set @page=2 --页数
set @row=3  --每页展示行数
select top (@row) * from (select top (@row*@page) * from table_name order by id  ) a order by id desc  --最基本的分页方式,改变@row和@page达到分页效果

2、MySQL

select * from table_name limit 0,10  --通常0是可以省略的,直接写成  limit 10。0代表从第0条记录后面开始,也就是从第一条开始
select * from table_name limit 1,10  --则为从第一条后面的记录开始展示,也就是说从第二条开始。

3、Oracle

select * from table_name where rownum<X --X为前多少条记录
select * from (select a.*,a.rownum rn from (select * from table_name) a where a.rownum<M) where rn>n --这句就是从n到m也的数据,分为三层结构

二、表结构复制

1、SQL Server

--当数据库中没有新表的情况,比如有了A,没有B表。
select * into B from A --复制表及数据
select * into B from A where 1>1 --只复制表结构
--当数据中已经有了B表的情况,上面就不适用了。
insert into B select * from A --复制表数据,为了避免。B表理论上应该没有数据,如果有,可能会造成违反主键。
insert into B select * from A where id>10 --加上where条件可以指定复制数据,上面没有表的情况也可以这样做。
这里要说的是,sybase和SQLSERVER是一样的。因为从某种角度来说,SYBASE就是SQL的原型。

2、MySQL

--数据库中没有B表的情况
create table B select * from A
create table B select * from A where 1<>1 --只复制表结构
--有B表的情况和sqlserver基本相同
insert into B select * from A 

3、Oracle

oracle 基本上合MYSQL是一样的,不过语法要求更严谨。当然Mysql也可以这样写。
--数据库中没有B表的情况
create table B as select * from A
create table B as select * from A where 1<>1 --只复制表结构
create table B like A--复制表结构
--有B表的情况基本相同
insert into B select * from A 

各数据库SQL语句差异相关推荐

  1. oracle数据库----SQL语句的实践(应用实例)

    oracle数据库----SQL语句的实践(应用实例) 创建表工资表salary,包括员工号emp_id,员工名emp_name,员工月基本工资monthsal,员工月总发工资totalsal. cr ...

  2. MySQL删除s表命令_SQLServer数据库sql语句中----删除表数据drop、truncate和delete的用法...

    本文主要向大家介绍了SQLServer数据库sql语句中----删除表数据drop.truncate和delete的用法,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 虽 ...

  3. 建立学生选课表 mysql 语句_学生选课数据库SQL语句45道练习题整理及mysql常用函数(20161019)...

    学生选课数据库SQL语句45道练习题: 一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四 ...

  4. mysql sql exists_数据库sql语句的exists总结

    数据库sql语句的exists总结 sql exists in 学习 先来比较下语法: --deals=交易表,areas=地域表,例如香港:我们的目的:查看有交易的地域 select * from ...

  5. 计算机导论sql试题,数据库SQL语句练习题

    一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...

  6. 数据库三级考mysql还是sqlse_计算机三级考试数据库SQL语句整理

    计算机三级考试数据库SQL语句整理 本文是关于计算机三级考试数据库SQL语句整理,包括创建数据库.删除数据库.备份sql server.创建新表等,供同学们参考学习!想了解更多相关信息请持续关注我们应 ...

  7. 数据库SQL语句课堂总结(2)——子查询

    废话引言 我有一个梦想,有一天能跟上单大师敲sql的速度QAQ 本文数据库同数据库SQL语句课堂总结(1) 主要介绍子查询的相关语句 正文开始 子查询介绍 定义: 子查询允许把一个查询嵌套在另一个查询 ...

  8. mysql查询选课程的学生学号和姓名_数据库SQL语句中查询选修了全部课程的学生的学号和姓名理解...

    首先头脑中有三点概念: 1.EXISTS子查询找到的提交 NOTEXISTS子查询中找不到的提交 说明:不要去翻译为存在和不存在,把脑袋搞晕. 2.建立程序循环的概念,这是一个动态的查询过程.如FOR ...

  9. 数据库sql语句的exists总结

    数据库sql语句的exists总结 sql exists in 学习 先来比较下语法: --deals=交易表,areas=地域表,例如香港:我们的目的:查看有交易的地域 select * from ...

最新文章

  1. Hinton 新作!越大的自监督模型,半监督学习需要的标签越少
  2. 2020应届生「求职图鉴」,扎心了!
  3. 复习笔记(五)——C++多态和虚函数
  4. 正则表达式的知识普及
  5. Eclipse中显示文件字符乱码
  6. 数学学习笔记-三角函数
  7. git命令下载项目,上传android项目到github步骤,以及取消项目关联Git,设置git忽略文件
  8. 我只是一个程序代码员吗?
  9. Matlab Tricks(二十六)—— 置乱(随机化)与恢复(shuffle/permutation restore)
  10. android color属性黑色,android – 未找到样式属性attr / colorSecondary
  11. 谈谈我来到CSDN社区的感受
  12. 中职一年级c语言考试试卷,一年级C语言课后习题答案.doc
  13. Nginx——Nginx实现服务端集群搭建
  14. 微信小程序样式Flex Box精通课程-Flex容器的属性-justify-content内容对齐(左中右)
  15. 2021年煤矿瓦斯检查证考试及煤矿瓦斯检查模拟考试题
  16. 比Python爬虫简单的爬虫方法1-后羿采集器
  17. python可以word添加批注_如何用POI给word指定文本增加批注?
  18. 【ACL19 论文笔记】EPAr:探索+提议+组装:多跳阅读理解的可解释模型
  19. 重构类关系-Replace Inheritance with Delegation以委托取代继承十一
  20. iphone html5 浏览器缓存文件,html5中localStorage 在苹果设备上总结

热门文章

  1. CN-Celeb 无约束条件说话人识别的中文语音数据集
  2. C#WinForm多行文本框
  3. 创建自己的Visual Studio插件仓库
  4. Kubernetes基于extended-resource扩展资源
  5. 使用Python进行异常检测
  6. 网络请求发生javax.net.ssl.SSLHandshakeException异常的情况
  7. android手机b站看直播,b站直播怎么回看 b站手机直播查看回放教程
  8. 计算机组成原理--指令系统
  9. 计算机重启一直显示正在准备,电脑一直显示正在准备windows怎么办 为什么我的电脑重启后一直显示正在准备windows - 云骑士一键重装系统...
  10. python名片生成二维码 无线网连接