**
1、查询表中的所有行和列
使用select * from table_name可以获取所有的行和列
**
**
2、从表中检索部分行和列
**
如查看公司工资大于1500的人员的信息:
**
3、查找空值
**
查询某一列为空的值可以使用is null或is not null,在实际的操作中,null是不能用“=”运算符来替代的。
如下操作:
查找comm(提成)为Null的员工信息
查找comm 不为null的员工信息
注意,null不支持加减乘除大小及相等的比较,否则只能为Null
SQL> select 1 + null jiafa from dual;
JIAFA
----------
SQL>
SQL> select 1 - null jianfa from dual;
JIANFA
----------
SQL>
SQL> select 1 * null chengfa from dual;
CHENGFA
----------
SQL> select 1 / null chufa from dual;
CHUFA
----------
SQL>
并且对于其它函数,在使用时最好测试一下有Null时会返回什么结果。
**
4、如何将空值转换为实际值
**
使用coalesce函数,coalesce函数可以有多个参数列表,它直到遇到非Null值时,则返回结果,如果表达式中都为Null,则返回一个空值。
使用coalesce处理一下,
当然这里也可以使用nvl来处理空值,但是使用nvl来处理就会嵌套很多,SQL读起来就很不方便
**
5、查找满足多个条件的行
**
示例:查找部门10中所有的员工,所有得到提成的员工,以及部门20中工资不超过2000的员工的信息
**
6、从表中检索部分列
**
如果想从表中检索部分列,必须了解标的结构之后才可以使用指定的列明来查询。
示例:查询公司员工的所有姓名及工资。
**
7、为列取有意义的别名(见名知义原则)
说明,由于我使用的数据库没有设置中文字符集,在使用中文的时候会出现字符乱码的情况,因此我在这里使用PL/SQL developer。
**
**
8、在where字句中引用取别名的列
**
**
9、使用列拼接功能
**
示例:查询10号部门中员工的工作职位
**
10、在select中使用逻辑条件
**
查询员工的工资,如果工资大于4000则返回高工资,如果工资小于1500则返回低工资,否则返回一般工资。
**
11、限制返回的行数
**
限制返回的行数Oracle中通常使用rownum和rowid来实现,Mysql使用Limit来限制返回的行数
Oracle当中
Mysql当中
说明,我使用的MYSQL的字符集设置与表中的数据的字符集编码格式不一致,因此导致表中的数据乱码。在这里只是为了演示一下mysql中limit的使用。
**
12、从表中随机返回数据
**