南国迦叶 发表于 2013-3-6 11:28:09

求几个SQL语句的写法

近日研究数据库,发现有些看似简单的增删查改SQL语句还是不会,基本功还是不扎实,因此特地请教各位高手,欢迎献言献策,先上两个简单的表再说
table1
ID          name    level
1            akl         1
2            anjih      2
3            san      2
4             yui      4
5            opq      5
问题一:在table1中如何将所有name以a开头的记录改成以A开头的记录并查询出来,即将akl改成Akl,将anjih改成Anjih,其他的名字不动(要求只用一条SQL语句),我只知道查询出来以a开头的,并可以单个修改,一次性修改多个不会呢,欢迎赐教

问题二:假设table1中有5万条记录,ID是主键且ID不是连续的从00001到50000,而是无规则的排列的(相邻两个ID中间有可能是间隔1个,有可能是间隔多个,反正最末尾的ID肯定是比50000大很多的数),这种情况下,要插入一条新记录,新记录中的ID如何指定,就是说不在事先查询这个表获取哪些ID是空着的没有使用的情况下插入,以前听一个同事讲过在插入的ID那个value值的地方不写具体的ID,而是一个关键字,后来忘记了,那个关键字可以自动识别哪些ID没有使用,之后就会在没有使用的ID中随机选一个

table2
ID          name    class
1            akl         1
2            anjih      2
3            san      2
4             yui      4
5            opq      5
注:table1与table2之有最后一个字段不同,其余的地方一致
问题三:用一条SQL语句同时向table1与table2中插入一条记录怎么操作?就是插入成功后表一与表二均新增一条记录。

南国迦叶 发表于 2013-3-6 16:06:07

还是自己顶一下吧,不然都沉了

omg 发表于 2013-3-6 17:33:55

为什么先不说下,是ORACLE还是MSSQL还是其他的什么?我感觉是ORACLE,但先说明下,我本身是不会ORACLE的。

问题一,单个修改会,难道单个修改的语句不能接一个WHERE语句吗?

问题二,但是你也许直接问你同事就不解决了?不确定是不是sequence + nextval

问题三,http://www.oracle-developer.net/display.php?id=209应该能帮助你吧。

其实更多是自己搜索,尝试解决。另外最好是去更专业的论坛问问。
页: [1]
查看完整版本: 求几个SQL语句的写法