1 找到ppp表里面num最小的数,不能用min函数:
select top 1 num from ppp order by num;
如果用min函数到话,直接elect * from ppp where num=(select Min(num) from ppp)
2 选择表ppp2中num重复的记录。
答: select * from ppp2 where num in(select num from ppp2 group by num having(count(num)>1))。
<…… group by的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。 WHERE是在分组前(查询后)筛选数据;HAVING是在分组后筛选数据。
……>
这里嵌套语句的意思,是按照num个数分组,多少个不同的num就分成多少组,然后找里面num重复的。count(*) 表示查找数据库里面一共多少行。count(列名)表示当前列名下面多少个属性,不管重复不重复。
那么这里按照num分组后,每个组里都是相同num的,然后查询所有组里面有多个相同num的,也就是一个组里num列下有多于1个数据的,count(num)值>1的。内层sql找到num,然后外层查所有数据。
5)3 写出复制表、拷贝表和四表联合的SQL语句。
答:复制表(只复制结构,源表名:A,新表名:B): select * into B from A where 1=0 拷贝表(拷贝结构,源表名:A,新表名:B): select * into B from A 四表联查: select * from A,B,C,D where 关联条件
6)
4 4 每一个部门的每个工种的工资最大值?
select dept_id,job_cat,max(salary)from employee group by dept_id,job_cat;
如果要从字符串“Hello world”中提取出“ello world”这样的结果,SQL语句: select lower(trim(‘H’from ‘Hello world’))from dual;
5.存储过程和函数的区别是什么?
答:存储过程是用户定义的一系列SQL语句的集合,涉及特定表或其他对象的任务,用户可以调用存储过程。而函数通常是数据库已定义的方法,它接受参数并返回某种类型的值,并且不涉及特定用户表。