sql常用语句20
信息来源 业绩快报
select B.GPDM 证券代码,B.ZQJC 证券简称 ,A.XXFBRQ 信息发布日期,A.XXLY 信息来源
FROM usrGSCWZBFXFB A
JOIN usrZQZB B ON A.IGSDM=B.IGSDM AND B.ZQLB IN (1,2) AND B.ZQSC IN (83,90)
WHERE A.ZYYWSR IS NULL
AND A.T_1ZYYWSR IS NOT NULL
连接数据库-大python
import pymssql
conn = pymssql.connect(server="10.101.0.201",user="DataCenter_Read",password="ter#CenD89",database="JYPRIME")
import pandas as pd
sql=" "
df0 = pd.read_sql(sql,conn)
df=pd.DataFrame(df0)
df.head(3)
匹配数据库常量
SELECT A.TABLENAME,A.TABLENAMECHN,B.* FROM cmdTABLES A with(nolock) JOIN cmdCOLUMNS B with(nolock) ON B.TABLEID = A.TABLEID WHERE A.TABLENAME='usrGSGBJG'
从表去查数据
select B.GPDM,A.ZQJC,C.* FROM
usrZQZB B,usrXGFXYSS A,usrXGFXYSS_SL C
WHERE A.INBBM=B.INBBM
AND B.SSBZ=7
AND A.ID=C.ID
AND B.GPDM <> C.DM
and B.GPDM NOT LIKE '%X%'
AND B.GPDM NOT LIKE '%C%'
AND LB=4
查所有从表
select * from usrGSYWYHYGG_SL
提取3天内的数据 - -股本结构
SELECT B.GPDM 证券代码,B.ZQJC 证券简称 ,
A.JZRQ 截止日期 , A.ZGB 总股本, A.SJSSGSYLTAG 流通A股 ,
A.YXSGF 有限售 , A.XXFBRQ 信息发布日期 , A.GBBDYYLB 股本变动类型
FROM usrGSGBJG A
JOIN usrZQZB B ON A.IGSDM=B.IGSDM AND B.ZQLB IN (1,2) AND B.ZQSC IN (83,90)
WHERE A.XXFBRQ BETWEEN GETDATE()-4 AND GETDATE()
AND A.GBBDYYLB IN (82,80,24,25,75,90)
order by XXFBRQ desc
ts
select * from JYPRIME..usrGSJYLDRGFBD WHERE ID IN (643751571859,643751571857)
麻烦看下,下游报重复值
SELECT *
FROM JYPRIME..usrGSJYLDRGFBD
WHERE GKBZ = 3 and (
INBBM=5179 and BDRQ='2020-05-21 00:00:00.000' and GFBDRXM='王志良' and XH=8
or
INBBM=5179 and BDRQ='2020-05-21 00:00:00.000' and GFBDRXM='盛瑞生' and XH=11
or
INBBM=5179 and BDRQ='2020-05-21 00:00:00.000' and GFBDRXM='谢永林' and XH=7
)
我写的代码
△申报稿证券主表查漏
上市状态 申报稿期间是9,上交所是83,证券类型是A股-1
★申报稿 - 证券主表
select GPDM 证券代码,ZWMCSX 中文名称缩写 ,ZQJC 证券简称 ,PYZQJC 拼音证券简称,SSZT 上市状态,ZQSC 证券市场, ZQLB 证券类别,
XGSJ 发布时间,
FBSJ 修改时间
FROM usrZQZB
WHERE XGSJ BETWEEN GETDATE()-2 AND GETDATE()
AND SSZT = 9
AND GPDM LIKE 'X%'
△申报稿公司概况查漏
申报稿 - 公司概况
主要查询人员(法人代表、董秘、证券代表)、电话、传真、网址
。
SELECT B.GPDM 证券代码,B.ZQJC 证券简称 ,
GSCLRQ 公司成立日期,
A.BGSLRQ 变更设立日期,
A.SCZCDJDD 首次注册登记地点,
A.QYFRYYZZZCH 企业法人营业执照注册号,
A.FRDB 法人代表,
A.DSHMS 董事会秘书,
A.DMSQDB 董秘授权代表,
A.ZQSWDB 证券股证事务代表,
A.ZQSWDBDH 证券事务代表电话,
A.ZQSWDBCZ 证券事务代表传真,
A.ZQSWDBDZYJ 证券事务代表电子邮件,
A.LXRDH 联系人电话,
A.LXRCZ 联系人传真,
A.LXRDZYJ 联系人电邮,
A.DMLXDH 董秘电话,
A.DMCZ 董秘传真,
A.DMDZYJ 董秘电子邮件,
A.DMSQDB 董秘授权代表,
A.ZQSWDB 证券股证事务代表,
A.GSLXDZDZYJ 公司电子邮件,
A.GSWZ 公司网址,
A.GLWZ 关联网址,
A.GSZCDZ 公司注册地址,
A.GSZCDZYB 公司注册地址邮编,
A.FBSJ 发布时间
FROM usrGSGK A
JOIN usrZQZB B ON A.IGSDM=B.IGSDM AND B.ZQLB IN (1,2) AND B.ZQSC IN (83,90)
WHERE A.FBSJ BETWEEN GETDATE()-4 AND GETDATE()
AND B.GPDM LIKE 'X%'
△申报稿行业更改查漏
申报稿 - 主营业务与产品经营业务与行业更改状况
涉足行业左关联,附表SL
SELECT B.GPDM 证券代码,B.ZQJC 证券简称 ,
A.XXFBRQ 信息发布日期,
A.XXLY 信息来源,
A.ZY 经营范围,
A.ZYYW 主要业务,
A.ZYCPMC 主要产品与业务名称,
A.ZYCPJS 主要产品介绍,
A.HYFLBZ 行业分类标准,
A.HYLB 行业类别,
Z.*
FROM usrGSYWYHYGG A
JOIN usrZQZB B ON A.IGSDM=B.IGSDM AND B.ZQLB IN (1,2) AND B.ZQSC IN (83,90)
left JOIN usrGSYWYHYGG_SL Z ON Z.ID = A.ID
WHERE A.XXFBRQ BETWEEN GETDATE()-4 AND GETDATE()
AND B.GPDM LIKE 'X%'
--GPDM='X20166'
order by GPDM DESC
---
SELECT A.TABLENAME,A.TABLENAMECHN,B.* FROM cmdTABLES A with(nolock) JOIN cmdCOLUMNS B with(nolock) ON B.TABLEID = A.TABLEID WHERE A.TABLENAME='usrGSYWYHYGG_DL'
分红意向
预案
决案
笔记
select
from
区别
in
如果结果集只有一个值时“=”等价于“IN” ,如果结果集有多个值时,IN 等价于 多个 “=”或。
in('张三' ,'李四')
as
on
on:生成临时表时使用的条件,无论条件是否生效,都会返回左表的行(left join性质影响)
where
where:生成临时表之后使用的条件,一定会过滤不满足设定条件的行
and
文本
https://blog.csdn.net/tonydz0523/article/details/86484102
终端链接
cmd: osql ?/
具体
用法: osql [-U 登录 ID] [-P 密码]
[-S 服务器] [-H 主机名] [-E 可信连接]
[-d 使用数据库名称] [-l 登录超时值] [-t 查询超时值]
[-h 标题] [-s 列分隔符] [-w 列宽]
[-a 数据包大小] [-e 回显输入] [-I 允许带引号的标识符]
[-L 列出服务器] [-c 命令结束] [-D ODBC DSN 名称]
[-q "命令行查询"] [-Q "命令行查询" 并退出]
[-n 删除编号方式] [-m 错误级别]
[-r 发送到 stderr 的消息] [-V 严重级别]
[-i 输入文件] [-o 输出文件]
[-p 打印统计信息] [-b 出错时中止批处理]
[-X[1] 禁用命令,[退出的同时显示警告]]
[-O 使用旧 ISQL 行为禁用下列项]
<EOF> 批处理
自动调整控制台宽度
宽消息
默认错误级别为 -1 和 1
[-? 显示语法摘要]
connect 服务器是-S,10.105.0.100
登陆ID是-U,GILDATA\wangjq
密码是-P ,
运行 osql -S 【数据库服务器】 -U 【登陆用户名】 -P 【登陆密码】
1> 表示连接成功
密码是啥?》》》》》》
>osql -S 10.105.0.100 -U GILDATA\wangjq
出现 1> 表示连接成功,这时候你可以输入sql语句来进行操作了。
请记住在2>时输入GO,执行Sql语句
10.1.5.121测试库
用户名:data_sjzx
密码:123qwe
osql -S 10.1.5.121 -U data_sjzx -P 123qwe -d jyprime
代码分成多行
方法一
把分行的代码用小括号括起来:
test = (100+
200)
print a
结果为300
方法二
用反斜杠连接多行代码,即在分行处用反斜杠连接:(注:个人觉得这种方法比较常用,算式和字符串均可使用)
test = 100 + \
200
print a
结果为300
方法三
用三个单引号连接几行代码:(注:此方法仅适用于字符串哦)
test = '''100 +
200'''
print a
结果为100 + 200
可以看到这种方法输出为字符串类型
所以,方法三只用于hin长的字符串的分行
【Python教程】Jupyter Notebook把一段很长的代码分成多行的解决办法
sql server+juno
usrXTCLB
常量表
select A.GPDM 公司代码,A.ZQJC 证券简称,
B.XXFBRQ 信息发布日期,B.HPQYMC 获配企业名称,D.MS 获配企业性质,B.ID
from usrGPPS B
JOIN usrZQZB A ON B.IGSDM=A.IGSDM AND A.ZQLB IN (1,2) AND A.ZQSC IN (83,90) AND A.SSBZ IN (1,2,6,7) AND A.ZQJC NOT LIKE '%无效%'
JOIN usrGPPS_SL C ON B.ID=C.ID AND C.LB=1
JOIN usrXTCLB D ON D.LB=1026 AND D.DM=B.PSXZ
WHERE B.HPQYMC LIKE '%基金-%' AND B.HPQYMC LIKE '%资产管理%' AND B.HPQYMC NOT LIKE '%基金' AND C.DM<>21 AND B.PSYY=2
不用常量表
select A.GPDM 公司代码,A.ZQJC 证券简称,
B.XXFBRQ 信息发布日期,B.HPQYMC 获配企业名称,C.DM 获配企业性质,B.ID
from usrGPPS B
JOIN usrZQZB A ON B.IGSDM=A.IGSDM AND A.ZQLB IN (1,2) AND A.ZQSC IN (83,90) AND A.SSBZ IN (1,2,6,7) AND A.ZQJC NOT LIKE '%无效%'
JOIN usrGPPS_SL C ON B.ID=C.ID AND C.LB=1
WHERE B.HPQYMC LIKE '%基金-%' AND B.HPQYMC LIKE '%资产管理%' AND B.HPQYMC NOT LIKE '%基金' AND C.DM<>21 AND B.PSYY=2
子主题 6
表
jydb 是最新的数据,属于 前台 使用。他们把数据整理之后卖出
jyprime 数据每次修改,都会添加,不会删除数据,每次有改动,就会添加
触发器 是后台使用的,就是 juno的底层逻辑
规则
细节
匹配所有字段
SELECT A.TABLENAME,A.TABLENAMECHN,B.*
FROM cmdTABLES A
JOIN cmdCOLUMNS B ON B.TABLEID = A.TABLEID
WHERE A.TABLENAME='usrGPPS'
sql 2分钟 120s
juno 不能超过 30s
中括号
需要加
中括号 在 经验和实际测试总结如下:
1.有些可能是SQL里面的保留字,但是你又用了它做字段名 比如Action,用[Action] 就 可以避免这个问题,如果直接Action ,SQL就要报错了。
2. 解决较长的中文名表名可能会被不识别的问题。
这个不是必须要加,但表名或字段名如果引用知了sqlserver中的关键字,数据库道会不识别这到底是关键字还是表名(或字段名)时就必须要加。
83
83
·
SELECT B.GPDM 股票代码,count(A.INBBM) 条数 FROM usrJYXW A
JOIN usrZQZB B ON B.INBBM=A.INBBM AND B.ZQLB IN (1,2) AND B.SSBZ IN (1,2,6,7)
AND B.ZQSC=83
AND A.JYRQ=@JYRQ
GROUP BY B.GPDM
sql #代表什么意思
- 问题 WHERE A.#JZRQ and A.#XXFBRQ1 and A.#XXFBRQ2 什么意思
' -- 单引号
" --双引号
& -- 并且
|| -- 连接符
@ --定义变量
@@ --全局变量
# --临时表
## --全局临时表
% -- 模糊查询符号
* -- 通配符
() -- 括号
-- --注释
SQL server 中的@,@@、#,##分别代表什么?
@局部变量
@@ 系统级变量
# 本地临时表
## 全局临时表
SQL @,@@、#,##分别代表什么?
SQL server 中的@,@@、#,##分别代表什么?
SQLServer的#代表局部临时表,不过你这个貌似不像,像是变量多一点。
@局部变量
@@ 系统级变量
# 本地临时表
## 全局临时表
请问:SQL中的符号^,!,$,#,&,各表示什么意思?
^(位异或)
对两个整数值执行“位异或”运算.它会将第一个操作数的每一位与第二个操作数中对应的每一位进行比较.如果一位是 0,另一对应位是 1,则相应结果位设置为
1.如果两位都是 0 或两位都是 1,则相应结果位设置为 0.
两个条件必须都为有符号的整数数据类型,或都为无符号的整数数据类型.
!(逻辑非)! 运算符不能与其他运算符一起使用.例如,不能将
^(位异或)
对两个整数值执行“位异或”运算。它会将第一个操作数的每一位与第二个操作数中对应的每一位进行比较。如果一位是 0,另一对应位是 1,则相应结果位设置为
1。如果两位都是 0 或两位都是 1,则相应结果位设置为 0。
两个条件必须都为有符号的整数数据类型,或都为无符号的整数数据类型。
!(逻辑非)! 运算符不能与其他运算符
^(按位互斥 OR)
在 Transact-SQL 语句中,将两个给定的整型值转换为二进制表达式,对其执行按位互斥 OR 运算。
优先股查漏-测试
usrGSCWZYZB
SELECT [股票代码]=B.GPDM,[证券简称]=B.ZQJC,[优先股代码]=C.GPDM,[优先股简称]=C.ZQJC
FROM usrGSCWZYZB A
JOIN usrZQZB B ON B.IGSDM=A.IGSDM and B.ZQLB IN (1,2) and B.ZQLB=(SELECT TOP 1 ZQLB FROM usrZQZB where IGSDM=A.IGSDM ORDER BY ZQLB)
JOIN usrZQZB C ON C.IGSDM=A.IGSDM and C.ZQLB=55 and ISNULL(C.SSRQ,'2099-12-31')<=A.JZRQ
JOIN usrYXGGKB D ON D.INBBM=C.INBBM and ISNULL(D.TZJYR,'2099-12-31')>=A.JZRQ and ISNULL(D.ZGJZR,'2099-12-31')>=A.JZRQ
WHERE A.#JZRQ and A.#XXFBRQ1 and A.#XXFBRQ2
and A.IGSDM NOT IN ( SELECT IGSDM FROM usrYXGCYR WHERE JZRQ=A.JZRQ)
ORDER BY B.GPDM
sz在深圳交易所上bai市的股票、代码du0开头 sh在上海交易所上市的股票、代码6开头 hk。。zhi。香港dao 内地人目前只能炒A股,A股都在上海或深圳上市。
领导人介绍 的 附表的文字说明
SELECT B.GPDM 股票代码,B.ZQJC 证券简称,A.XXFBRQ 信息发布日期,A.XM 姓名 ,
Q.MS 性别,SUBSTRING(LTRIM(CONVERT(VARCHAR(100),A.BJJS)),1,10) 背景,A.XGSJ 修改时间,D.OPERATORNAME 修改人员,A.ID
FROM usrZQZB B
JOIN usrGSZYLDRJS A ON A.IGSDM=B.IGSDM AND B.SSBZ IN (1,2,6)
JOIN cmdOPERATORS D ON D.OPERATORID=A.XGRY
LEFT JOIN usrXTCLB Q ON Q.LB=1234 AND Q.DM=A.XB
WHERE (A.BJJS LIKE '%先生%' OR A.BJJS LIKE '%男%' ) AND A.BJJS NOT LIKE '%女士%' AND A.XB=2
AND B.ID = (SELECT TOP 1 ID FROM usrZQZB WHERE IGSDM=B.IGSDM ORDER BY ZQLB)
test5-29
select [公告类型]='招股意向书', [公告日期]=A.XXFBRQ, [代码]=B.GPDM, [简称]=B.ZQJC, [公告标题]= A.BT, [记录情况]=case when C.ID IS NOT NULL then '有' else '无' end, [公开标志]=case when C.GKBZ=3 THEN '公开' else '不公开' end, C.ID,[URL]=A.URL,[公告入库时间]=A.XGSJ from usrGGLJDZ A with (nolock) left join usrZQZB B ON A.INBBM = B.INBBM left join usrXGFXYSS C ON A.INBBM = C.INBBM AND (C.ZGYXSFBRQ=A.XXFBRQ) where A.#XXFBRQ1 and A.#XXFBRQ2 and A.BT like '%首次公开%' AND A.BT like '%招股意向书%' and A.BT NOT LIKE '%附录%' and A.BT not like '%意见%' and A.BT not like '%细则%' UNION select [公告类型]='招股说明书', [公告日期]=A.XXFBRQ, [代码]=B.GPDM, [简称]=B.ZQJC, [公告标题]= A.BT, [记录情况]=case when C.ID IS NOT NULL then '有' else '无' end, [公开标志]=case when C.GKBZ=3 THEN '公开' else '不公开' end, C.ID,[URL]=A.URL,[公告入库时间]=A.XGSJ from usrGGLJDZ A with (nolock) left join usrZQZB B ON A.INBBM = B.INBBM left join usrXGFXYSS C ON A.INBBM = C.INBBM AND (C.ZGSMSFBRQ=A.XXFBRQ) where A.#XXFBRQ1 and A.#XXFBRQ2 and A.BT like '%首次公开%' AND A.BT like '%招股说明书%' and A.BT NOT LIKE '%附录%' and A.BT not like '%意见%' and A.BT not like '%细则%' AND C.GKBZ=3 UNION select [公告类型]='上市公告书', [公告日期]=A.XXFBRQ, [代码]=B.GPDM, [简称]=B.ZQJC, [公告标题]= A.BT, [记录情况]=case when C.ID IS NOT NULL then '有' else '无' end, [公开标志]=case when C.GKBZ=3 THEN '公开' else '不公开' end, C.ID,[URL]=A.URL,[公告入库时间]=A.XGSJ from usrGGLJDZ A with (nolock) left join usrZQZB B ON A.INBBM = B.INBBM left join usrXGFXYSS C ON A.INBBM = C.INBBM AND (C.SSGGSFBRQ=A.XXFBRQ) where A.#XXFBRQ1 and A.#XXFBRQ2 and A.BT like '%首次公开%' AND A.BT like '%上市公告书%' and A.BT NOT LIKE '%提示性公告%' and A.BT not like '%意见%' and A.BT not like '%细则%' UNION select [公告类型]='发行公告', [公告日期]=A.XXFBRQ, [代码]=B.GPDM, [简称]=B.ZQJC, [公告标题]= A.BT, [记录情况]=case when C.ID IS NOT NULL then '有' else '无' end, [公开标志]=case when C.GKBZ=3 THEN '公开' else '不公开' end, C.ID,[URL]=A.URL,[公告入库时间]=A.XGSJ from usrGGLJDZ A with (nolock) left join usrZQZB B ON A.INBBM = B.INBBM left join usrXGFXYSS C ON A.INBBM = C.INBBM AND DATEDIFF (DD,CONVERT(CHAR(10),C.XGSJ,120),A.XXFBRQ)<=3 where A.#XXFBRQ1 and A.#XXFBRQ2 and A.BT like '%首次%发行公告%' and A.BT not like '%债券%' UNION select [公告类型]='发行结果公告', [公告日期]=A.XXFBRQ, [代码]=B.GPDM, [简称]=B.ZQJC, [公告标题]= A.BT, [记录情况]=case when C.ID IS NOT NULL then '有' else '无' end, [公开标志]=case when C.GKBZ=3 THEN '公开' else '不公开' end, C.ID,[URL]=A.URL,[公告入库时间]=A.XGSJ from usrGGLJDZ A with (nolock) left join usrZQZB B ON A.INBBM = B.INBBM left join usrXGFXYSS C ON A.INBBM = C.INBBM AND DATEDIFF (DD,CONVERT(CHAR(10),C.XGSJ,120),A.XXFBRQ)<=3 where A.#XXFBRQ1 and A.#XXFBRQ2 AND (A.BT LIKE '%中签率%' OR A.BT LIKE '%配售%' OR A.BT LIKE '%网下发行结果%' OR A.BT LIKE '%发行结果%' ) and A.BT like '%首次%' and A.BT not like '%意见%' and A.BT not like '%细则%' order by '公告入库时间' DESC,B.GPDM,'公告类型'