数据库如何进行有条件的查询?

数据库如何进行有条件的查询?,第1张

条件

使用where子句对表中的数据筛选,结果为true的行会出现在结果集中

语法如下:

select * from 表名 where 条件

例:

select * from students where id=1

1

2

3

where后面支持多种运算符,进行条件的处理

比较运算符

逻辑运算符

模糊查询

范围查询

空判断

比较运算符

等于: =

大于: >

大于等于: >=

小于: <

小于等于: <=

不等于: != 或 <>

例1:查询编号大于3的学生

select * from students where id >3

例:查询编号不大于4的学生

select * from students where id <= 4

1

2

3

4

5

6

逻辑运算符

and

or

not

例:查询编号大于3的女同学

select * from students where id >3 and gender=0

1

2

3

模糊查询

like

%表示任意多个任意字符

_表示一个任意字符

例:查询姓黄的学生

select * from students where name like '黄%'

1

2

3

范围查询

in表示在一个非连续的范围内

空判断

注意:null与’'是不同的

判空is null

例:查询没有填写身高的学生

select * from students where height is null

判非空is not null

1

2

3

4

优先级

优先级由高到低的顺序为:小括号,not,比较运算符,逻辑运算符

and比or先运算,如果同时出现并希望先算or,需要结合()使用

————————————————

一、国家机关依据法律法规查询

(一)需提供的材料。

1.明确的法律法规等书面查询依据,其中:申请查询个人信息应提供明确的法律依据,申请查询企业信息应提供明确的书面法律或行政法规依据。

2.加盖有本单位公章的协查函,内容应当包含:查询单位名称,申请查询时间,查询目的或用途,信息主体的名称或姓名、机构信用代码或身份z件号码等有效识别信息主体身份的证件号码。

3.单位介绍信及经办人员的身份z件或工作z件原件及复印件;其中,司法机关进行异地查询的,还应持有查询服务机构所在地同级司法机关开具的介绍信。

4.填写完整的《金融信用信息基础数据库查询申请登记表》(附件1)。

5.填写完整的《保密承诺书》(附件2)。

(二)查询流程。

1.查询经办人携带查询申请材料到人民银行分支机构,将查

询申请材料交人民银行征信管理部门工作人员;

2.人民银行征信管理部门工作人员对查询申请材料进行齐

备性审核后,报征信管理部门负责人以及分管行领导审批,经审批通过后进行现场查询,查询产生的信用报告原则上应当场提供;如有特殊情况的,则通过协商在三个工作日内进行查询并将查询产生的信用报告交付申请单位。

3.对于不符合法律法规要求或提交材料不齐备的,不受理查

询申请,并告知原因。

二、国家机关其他查询

对于国家机关出于履职需要(如工信、市场监管、财政等部门对企业评优评先、财政贴息等)申请查询金融信用信息基础数据库信息,但无法提供明确的法律法规等书面查询依据的,按以下规定办理:

(一)不得查询个人信用信息。

(二)查询企业信用信息的申请查询单位提供以下材料:

1.查询申请函、介绍信及经办人员的身份z件或工作z件原件及复印件、《金融信用信息基础数据库查询申请登记表》及《保密承诺书》。

2.申请查询的单位组织被查询企业按照人民银行企业信用报告柜台查询的标准和要求,提交查询授权资料。

(三)人民银行征信管理部门受理查询申请后,经部门负责人以及分管行领导审批同意后进行查询,根据申请单位的查询目的和需要,对查询结果信息进行加工整理后反馈申请单位,不得直接提供企业信用报告。

附件:1.金融信用信息基础数据库查询申请登记

 2.保密承诺书

你这样做输出SS语句调试看看,你会发现你输出的SQL语句有问题!

String ss="SELETE * FROM MESSAGE WHERE"

int i=1char c='"'

if(na!=null)

{ss=ss+"AND 姓名='"+na+"'"i=0

System.out.println(ss)

}

if(se!="")

{

if(i==0){ss=ss+"AND 性别='"+se+"'"i=0}

else {ss=ss+"AND 性别='"+se+"'"i=1}

}

if(xi!="")

{

if(i==0){ss=ss+"AND 系别='"+xi+"'"i=0}

else {ss=ss+"AND 系别='"+xi+"'"i=1}

}

if(zh!="")

{

if(i==0){ss=ss+"AND 专业='"+zh+"'"i=0}

else {ss=ss+"AND 专业='"+zh+"'"i=1}

}

if(ni!="")

{

if(i==0){ss=ss+"AND 年级='"+ni+"'"}

else {ss=ss+"AND 年级='"+ni+"'"}

}

ss=c+ss+c

rs=sql.executeQuery(ss)

就拿第一个SQL语句来做示范,加入你的na值为abc,输出的SS是 SELETE * FROM MESSAGE WHEREAND 姓名= 'abc'

仔细一看就知道SQL语句上很严重的错误 WHERE 后面接了AND关键词

可以这样改:ss=ss+" " + "姓名='"+na+"'" +" " +"AND"

最后使用replaceAll('AND$', ")") 替换最后一个AND字符穿。或者使用字符创截取 去掉最后三个字符(AND)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9620173.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存