SQL语法总结

SQL高级语法 SQL高级语法(mysql) 阅读详情
 

SQL语法总结

[导读]SQL语法总结1.按条件读取字段, 定义某个字段只取规定的几个值,或一个值select os.* from  blis_order o,blis_orderservice os where o.orderid=os.orderid and o.ordertypeid not in (4, 8, 10, 11) and o.status in (New,Accepted,Pending-approval,Pending-effective,Pending-correction) and snp.status=Active and b.e

 

SQL语法总结
1.按条件读取字段, 定义某个字段只取规定的几个值,或一个值

select os.* from  blis_order o,blis_orderservice os where o.orderid=os.orderid and o.ordertypeid not in (4, 8, 10, 11) and o.status in ('New','Accepted','Pending-approval','Pending-effective','Pending-correction') and snp.status='Active' and b.entityid=1

2.去掉重复(互异)的字段distinct

select distinct op.name,op. from blis_chargeactivation ca,blis_orderparameter op where op.mastertype='charge' and ca.chargeactivationid=op.masterid and ca.parentcode like '%NBR Storage Charge%'


3.某个字段不可为null

select os.orderserviceid,os.orderofferid,o.ordertypeid,o.status from  Blis_Order o,  Blis_Orderservice os where o.orderid=os.orderid and os.orderofferid is not null

4.删除满足某个条件的记录

delete  from blis_bstoffermigplan bsf where bsf.keyid='110206'

5.取name_a字段,放入字段别名name_b

select bsf.keyid subcode,bsf.bstoffermigplanid from blis_bstoffermigplan bsf

这里取的是keyid字段, 显示的为subcode字段。


6.connection rollback commit
rollback 就是把在内存中做的行为取消,不持久化到数据库中,commit就是把内存中做的行为持久化到数据库中。

7. 在Oracle中使用Dual, Dual是Oracle一个特有的虚拟表, Oracle中很多系统的sequence(序列),sequence一般和表建立了一一对应关系,但是要编程插入的话,必须手工指定,比如增加条account数据,相应的值插入SEQ_ACCOUNT.nextval,变量和函数都可以通过Dual中获得
S: select getdate();
O: select sysdate from dual;


select SEQ_INTEGRATIONTASK.NEXTVAL from DUAL

8.(PK)主键(PK) (for database)

9.排序(数字,字母由大到小)

select bsf.* from blis_bstoffermigplan bsf order by bsf.ordertypeid desc

10.插入一条记录

insert into blis_bstoffermigplan (bstoffermigplanid, entityid, keyid, subioncode, ordertypeid, type, templatecode, currencycode, exceptioncount, lastexception, att1, att2, att3,att4,att5,offercode, status, createdby, creationdate, lastmodifiedby, lastmodifieddate) values (seq_bstoffermigplan.nextval, ?, ?, ?, ?, ?,?, ?, ?,?, ?, ?, ?, ?, ?, ?, ?, ?,sysdate, ?, sysdate)

11,更新一条记录

update offermigplan.db_table_name set entityid=?,keyid=?,subioncode=?,ordertypeid=?,type=?,templatecode=?,currencycode=?,exceptioncount=?,lastexception=?,att1=?,att2=?,att3=?,att4=?,att5=?,offercode=?,status=?,createdby=?,lastmodifiedby=?,lastmodifieddate=sysdate where bstoffermigplanid=?

 

12.插入数据量比较大的类型clob

13.查询日期

下列两条语句功能相同

select * from blis_account acc where  to_char(acc.lastmodifieddate,'YYYYMMDD')>'20050101'

select * from blis_account acc where  acc.lastmodifieddate>to_date('2005-01-01','yyyy-mm-dd')

14找出根据某个字段中的值重复的记录

比如找出chargeactivationid 有相同值的blis_usageaccess记录

select * from blis_usageaccess where chargeactivationid in (select chargeactivationid from blis_usageaccess group by chargeactivationid having count(*) >1)

USAGEACCESSID CHARGEACTIVATIONID  SERVICEACCESSCODE
292518 148701  AUDIO-BROADCAST@
292517 148701  VOIP@
292516 148701  CALLIN-DID@
292515 148701  CALLBACK-INTL@
292512 148701  CALLIN@
292513 148701  CALLIN-TOLLFREE@
292514 148701  CALLBACK@
292478 147945  AUDIO-BROADCAST@
292477 147945   VOIP@
292475 147945  CALLBACK-INTL@
292476 147945  CALLIN-DID@
292472 147945  CALLIN@

 

 


15.通过查询获得某个字段的合计值,如果这个值位null将给出一个预设的默认值

select  nvl(ob.bookingvalue,0) bookingvalue from blis_order o, blis_orderbooking ob where o.orderid=ob.orderid and o.orderid =125034 and ob.bookingtypeid = 215 and ob.status = 'Active'


这里关心nvl的用法,nvl(arg,value)代表如果前面的arg的值为null那么返回的值为后面的value

16.知道一个column的名字,但不清楚它属于哪张table时,可以使用

select * from user_col_comments ucc where ucc.column_name = 'column_name' 

比如: select * from user_col_comments ucc where ucc.column_name = ‘ORDERID’ 就会查出一系列有ORDERID字段的表。

17.遍历两字段排列

select (pf.offername || ' '|| cur.name) offercode from blis_packageoffer pf,blis_currency cur where cur.status='Active' and pf.status='Active'

结果如下:

offercode

a1 b1

a1 b2

a2 b1

a2 b2

18.条件判断

case when pc.provisioningby = 'BPS' then 'True'
         else 'False' end

select sos.Sosorderserviceid, st.sosprovisionticketid,
       (case when pc.provisioningby = 'BPS' then 'True'
         else 'False' end) isConnector
  from blis_sosprovisionticket st, blis_sosorderform sof,
       blis_sosorderservice sos, blis_packagecomponent pc
where sof.sosorderformid = sos.sosorderformid
   and sos.sosorderserviceid = st.sosorderserviceid
   and sos.status = 'Active' and st.status = 'Active'
   and pc.tagname(+) = st.servicetag and pc.provisioningby
   and sof.sosorderformid = 104789

19. pc.tagname(+) =st.servicetag

当pc.tagname存在值,st.servicetag不存在值的话,记录也可以检索出来。

20.让表可以手工编辑

select rowid,st.* from blis_sosprovisionticket st where st.sosprovisionticketid=102508

用classes12.zip 还是会抛出classNotFoundException:oracle.jdbc.driver.OracleDriver,换用class12.jar就正常了,classes12.zip  或class12.jar是JDBC oracle驱动类

创建数据库:

查看所有表: select * from dba_all_tables
查看所有用户: select * from all_users
查看所有DBA用户:select * from dba_users
创建role :create role BLIS_ADMIN_ROLE;
创建新用户:create user username identified by password
授予表空间使用权:grant resource to username
授予创建表权限:grant create table to username
授予连接数据库的权限:grant create session to username
查看所有表空间: select * from dba_tablespaces
把任何表授予某用户: grant create any table to BLIS_ADMIN_ROLE;
授予某用户检索功能:grant create any index to BLIS_ADMIN_ROLE;
授予某用户对某表有检索,插入,更新,删除功能:grant select, insert, update, delete on BLIS_ACCAGENCYCOMMISSION to BLIS_ADMIN_ROLE;

导出数据库:比如: exp blis/blis@dbls full=y file=d:1.dmp

连接ORACLE数据库的字符串格式是
jdbc:oracle:thin:@主机:端口:SID
注意是SID 而不是数据库名

SID不对的话会抛出异常:java.sql.SQLException: Io 异常: Connection refused(DEION=(TMP=)(VSNNUM=153092352)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))

sql语法学习 阅读详情

相关推荐

SQL语言的语法糖

语法糖是指一种编程语言中看似“多余”的语法,它不影响语言的功能,但可以使表达更加简洁明了。在SQL中,语法糖的引入主要是为了提高可读性和可维护性,使得开发者能够更快地完成数据库操作。例如,在某些情况下,SQL可以简化复杂的查询,使得代码更加易读,降低了理解门槛。同时,好的语法糖还可以减少出错的机会因为简化了使用者的思考过程。SQL语言的语法糖在一定程度上极大提高了SQL语句的可读性和开发者的工作效率,但在使用过程中也需谨慎,以免影响性能与可维护性。

2501_90485551的博客 1297

php sql 查找2个字段的值,thinkphp5查询只需要某一列(某一个字段,其他不需要)的值...

查询某一列的值可以用// 返回数组Db::table('think_user')->where('status',1)->column('name');// 指定id字段的值作为索引Db::table('think_user')->where('status',1)->column('name','id');如果要返回完整数据,并且添加一个索引值的话,可以使用// 指定id...

weixin_35786588的博客 392

【c#】验证SQL语法是否正确

昨天又有一个新的需求:验证文本框输入的SQL语法是否正确。于是就开始百度,其实也挺简单的。首先需要知道“SET PARSEONLY { ON | OFF }”。 当 SET PARSEONLY 为 ON 时,SQL Server 只分析语句。 当 SET PARSEONLY 为 OFF 时,SQL Server 编译并执行语句。 现在我们就可以完成SQL语法检测的功能了。下面是具体的代码

李晓洁 廊坊师范学院信息技术提高班 12期 3106

SQL常用查询总结

1.全查: select表示查询 * 表示查询全部字段 from 表示来自哪一张表 2.查询某一个字段的值(不是全查) select 字段 from 表名 3.查询多个字段的值 select 字段1,字段2,… from 表名 注意:要查询的字段与字段之间用英文逗号(,)隔开。 4.条件查询 select * from 表名 where 条件 Where 表示条件(条件关键字),在where之后跟...

weixin_43973977的博客 2862

【SQL】SQL语法树

1. 为什么会出现SQL语法树? 假设有一个SQL语句 select name,age,count(name) as count_name, count(id) as count_id from mytable where id = ? and name = ? 这是一条sql语句,如果你想运行这个语句(下面写伪代码,具体实现肯定不是这样的但是这是人实现的思想) 1.找到数据库表m...

九师兄 1万+

学习STM32的无人机控制

设计并实现无人机控制系统,使用STM32单片机进行控制。无人机控制系统主要包括飞行控制、姿态控制、定位导航等功能。以下是一个基于STM32的无人机控制系统的代码案例。以上是一个基于STM32的无人机控制系统的代码案例,包括飞行控制、姿态控制和定位导航等功能。请根据实际情况进行修改和完善。

qq_67153941的博客 839

获取sql列字段

String sql = "select sum(asas) as ss,age a,name name from student s inner join (select id,name from score where sex='女') temp on sex='男' and temp.id in(select id from score where sex='男') where student.name='zhangsan' group by student.age order by studen.

weixin_41702109的博客 447

Latex在VSCODE中编译报错`Recipe terminated with error. Retry building the project.

Latex在VSCODE中编译报错Recipe terminated with error. Retry building the project. 1 报错提示: Recipe terminated with error 2 报错原因 大概率的原因是因为latex没有添加到系统环境变量中,所有设置的编译工具没有办法找到才出现的这种情况 3 解决方案 请按照如下方式进行系统变量的添加 对windows,win+R 然后输入sysdm.cpl 在高级中选择环境变量 找到path环境变量,将txtlive中

呆呆象呆呆的博客 3万+

使用SQL语句建立一个数据库ST

使用SQL语句建立一个数据库ST 数据库ST中有三张表,stu,course和sc表,表格信息如下图 代码如下 create database ST use ST create table stu ( sno char(20) primary key, sname char(20), ssex char(20), sage smallint, sdept char(20...

weixin_40530664的博客 8835

从Verilog到GDS:手把手教你搞定Calibre LVS物理验证(附常见报错解决)

本文详细介绍了从Verilog到GDS的Calibre LVS物理验证全流程,包括工具链配置、RTL到SPICE网表转换、LVS运行配置及高级技巧。重点解析了常见报错如网络不匹配、器件不匹配和电源引脚缺失的解决方案,帮助工程师高效完成芯片物理验证,确保设计正确性。

culing2941的博客 509

MDM主数据清洗和编码集成说明

绝大多数的企业业务系统是伴随业务发展而建设的,但随着业务发展单一系统难以支撑企业业务闭环。MDM主数据管理平台可以满足企业数据治理的需求,本文针对主数据清洗和编码集成进行梳理。...

数通畅联 3321

SQL语法

在这之后的语句,以分号结束,解释器不会有什么反应,只有遇到了 $,才认为是语句结束。因此,解释器遇到触发器执行动作中的分号后就开始执行,然后会报错,因为没有找到和 BEGIN 匹配的 END。DCL 以控制用户的访问权限为主,因此其指令作法并不复杂,可利用 DCL 控制的权限有:CONNECT、SELECT、INSERT、UPDATE、DELETE、EXECUTE、USAGE、REFERENCES。外连接返回一个表中的所有行,并且仅返回来自次表中满足连接条件的那些行,即两个表中的列是相等的。

2301_79037188的博客 1594

LBM模式学习·保姆级安装及初步使用教程

在学习LBM的过程中,我感觉可供参考的材料较为有限,对于一个独立学习LBM模式的初学者非常不友好(我就是这个初学者哈哈),因此萌生了写一篇保姆级的LBM模式教程,并将我踩过的坑一一指出,有助于后来者更快地上手该模式,而非半途而废。

weixin_42762673的博客 1万+

SQL server 基础语法

SQL server 基础语法 SQL server 基础语法 语法简介 select 语句 select distinct 语句 where 语句 and & or 语句 order by 语句 insert into 语句 update 语句 delete 语句 语法简介 use database_name 使用某个数据库 SQL对大小写不...

qq_29735775的博客 2万+

聚宽策略实盘新路径:不开通QMT , 小资金自动化交易解决方案

聚宽策略实盘新路径:不开通QMT , 小资金自动化交易解决方案

u011111246的博客 1470

电源完整性仿真流程梳理

可根据仿真流程导图,一步一步的去设置完成仿真。仿真的关键,在于对电路回路的理解以及所放置的电压源与电流的合理性,对于去耦电容的选择,则需要根据谐振频率计算,从而选取有效滤波的容值。

csy17729158342的博客 3442

Sql 语法检查

Sql 语法检查 做语法检查时要能连得上SQLServer,然后程序如下: Private   Function   CheckSQL(ByVal   SQLs   As   String)   As   String On   Error   GoTo   errHandle         conTADO.Execute   ("SET   PARSEONLY   ON   "   &  

jiljil的专栏 2106

Coze工作流的代码无法安装第三方模块(依赖)怎么办?(如何解决Coze工作流代码缺少模块(依赖)的问题)

Coze工作流的代码无法安装第三方模块(依赖)怎么办?(如何解决Coze工作流代码缺少模块(依赖)的问题)

XiaoqiangClub的博客 4365

SQL UPDATE语法说明

This article will get you familiar with the SQL UPDATE syntax and demonstrate how this statement can be used for modifying data using T-SQL. Data modification side of DML language in T-SQL ...

culuo4781的博客 2854

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

sql常见语法_常见SQL语法错误以及解决方法

sql常见语法SQL Server Management Studio, errors can be tracked down easily, using the built in 错误列表”窗格,可以轻松跟踪Error List pane. This pane can be activated in the SQL Server Management Studio错误。 可以在“ View me...

culuo4781的博客 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

常用SQL语法

一个数据库通常包含一个或多个表。每个表由一个名字标识(例如“客户”或者“订单”)。表包含带有数据的记录(行)。

qq_52010394的博客 3030

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

SQL 语法学习

无论是从庞大的数据库中提取特定的信息,还是对大量数据进行批量更新,SQL 都能以高效的方式完成任务。通过编写复杂的查询语句,可以快速获取所需的数据子集,进行深入的分析和挖掘。此外,在软件开发中,SQL 也经常被用于数据库的设计和实现,确保数据的存储和检索符合应用程序的需求。尝试解决实际的数据库问题,例如从实际的数据库中提取数据进行分析,或者设计和实现一个简单的数据库应用程序。通过解决实际问题,可以更好地理解 SQL 在实际场景中的应用,并提高自己的解决问题的能力。

weixin_47266126的博客 1349

SQL基础语法

SQL基础语法

weixin_44482104的博客 1852

GBase SQL语法(一)

1.SQL 语法概述 本章提供了有关如何使用 SQL 语句、SPL 语句和语法段的信息。 本章组织为以下几节。 1.1 如何输入 SQL 语句 SQL 语言是自由格式的(如同 C 或 PASCAL),通常忽略空格字符(例如 TAB 、LINEFEED 和各语句或语句元素之间额外的空格)。然而,必须至少有一个空白字符或其它定界符将关键字和 标识与其它语法标记分开。 除了在带引号字符串中以外,SQL 是不区分大小写的;另见 标识符。在符合 ANSI 的数据库中, 如果没有用双引号 ( " ) 定界对象.

m0_64668376的博客 2258
上一篇: volatile
下一篇: Oracle总结
zljjava
博客等级 码龄15年 155粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值