1、首先双击桌面plsql developer软件启动软件,在连接窗口中填写连接信息,连接数据库。
10年积累的成都做网站、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有枞阳免费网站建设让你可以放心的选择与我们合作。
2、连接成功后新建命令窗口,在sql查询中一般情况下对于数据比较少的表都会使用普通查询进行查询数据,如下图。
3、有的时候针对数据量比较大,而又不太确定查询目录的表在进行查询的时候,就需要进行模糊查询,使用关键字Like ,如下图查询出职工姓名第二个字符是o的职工信息。
4、种模糊查询的方式只能针对字符串类型的数据列进行查询,其它类型的数据是无法查询出结果的,如下图。
5、除了模糊查询之外还有反向模糊查询,not like,它的使用就是根据查询条件查询满足查询条件以外的数据。
如果b.姓名 包含 a.姓名 就把成绩取出来。
select a.学号,a.姓名,b.成绩 from a,b
where instr(b.姓名,a.姓名)0;
第二种没必要啊,第一种方法取A表姓名很好取。
like语句实际上就是模糊的字段查询,通常与“%”(一个或多个)结合使用。
举例说明:
sql:SELECT * FROM tablename T WHERE T.name LIKE '%zhang%';
解释:以上语句就就是查询出tablename表中name字段带有“zhang”的所有记录。
备注:存储过程中用"||"表示连接符,用单引号(“'”)表示字符连接。
SELECT * FROM tablename T WHERE T.name LIKE '%'||'zhang'||'%'.
你这个不是写like,是精准查询,应该改成 in,是这样写。
select * from sys_department where dept_code in (select newgb103 from sys_department_change where state=0 and verify_state=1 and change_type in (0,2));
like 是模糊查询。模糊查询只能这样写 :
select * from sys_department where dept_code like '43%' or dept_code like '42%';
你的需求可以这样写:--例如:newgb103:6位,dept_code:10位
select * from sys_department where SUBSTR(dept_code,1,6) in (select newgb103 from sys_department_change where state=0 and verify_state=1 and change_type in (0,2));
这样是你要的结果,子查询里面也能使用SUBSTR(newgb103,1,6)这样来截取。多个子集是没法用like没法实现,单个子集可以,但是单个子集可以直接使用"=",不需要like。
select * from sys_department where SUBSTR(dept_code,1,6) in (select SUBSTR(newgb103 ,1,6)from sys_department_change where state=0 and verify_state=1 and change_type in (0,2));
用关键字AND连接多个 like条件。
比如:
select * from TABLE where
字段1 like 'A%'
and
字段2 like '%B'
and
字段3 like '%C%';
这个语句的作用是 选则TABLE表里,字段1以A开头的,字段2以B结尾,且字段3含有字符C的所有记录。
LIKE 语句作用为字段的模糊查询,包含通配符,%代表任意个数字符,_代表一个字符,
示例如下,
1、创建测试表,create table test_like(id number, value varchar2(20));
2、插入样例数据,
insert into test_like values (1001,'abcd');
insert into test_like values (1002,'cdef');
insert into test_like values (1003,'fgh');
insert into test_like values (1004,'acdfg');
commit;
3、查询所有记录,select t.*, rowid from test_like t,
4、编写like语句,查询包含字母a的记录,select t.*, rowid from test_like t where value like '%a%';