oracle(sql)10g中的查询

oracle(sql)10g中的查询,sql,Sql,我有一张这样的桌子 Name Skills mahesh c,c++,java santosh Java srikanth c 在这方面,我需要了解c的人。我不明白你能不能帮我个忙。或者我应该打破技能栏。。。如果是,那么我应该如何打破并实现我的查询。。。请你帮我接一下 在一列中存储多个值是个坏主意,而不是有多行或一个链接表 多行将显示为: mahesh c mahesh c++ mahesh java santosh java

我有一张这样的桌子

Name         Skills
mahesh       c,c++,java
santosh      Java
srikanth     c

在这方面,我需要了解c的人。我不明白你能不能帮我个忙。或者我应该打破技能栏。。。如果是,那么我应该如何打破并实现我的查询。。。请你帮我接一下

在一列中存储多个值是个坏主意,而不是有多行或一个链接表

多行将显示为:

mahesh    c
mahesh    c++
mahesh    java
santosh   java
srikanth  c
对于链接表方法,您可能有三个表:Person、Skill和PersonSkill。类似这样的事情:

Person
ID  Name
1   mahesh
2   santosh
3   scrikanth

Skill
ID  Description
1   C
2   C++
3   Java

PersonSkill
PersonID    SkillID
1           1
1           2
1           3
2           3
3           1
然后,您将查询具有C技能的人员,如下所示:

select Name 
from Person, Skill, PersonSkill
where Person.ID = PersonID and Skill.ID = SkillID and Skill.Description = 'C'

仅针对mahesh没有设计数据库但必须查询的情况:

select Name 
from yourTable
where ',' || SKills || ',' like '%,c,%';

出于好奇,为什么要将其标记为
user32
?除此之外,你能展示一下你迄今为止尝试过但没有成功的方法吗?一些示例代码?