Oracle数据库的基本查询

查询

      1、基本查询语句(查询结果的顺序是按照创建表的顺序排列的)

         SELECT [DISTINCT] column_name1,...|*FROM table_name [WHERE conditions]

         DISTINCT:不显示重复的记录。

      2、在SQL*PLUS中设置查询结果的格式

         1、更改查询后结果显示的字段名(原表不变)

            COL|COLUMN  column_name HEADING new_name;

         2、设置结果显示的格式

            COL|COLUMN  column_name FORMAT dataformat;

            注:dataformat为显示值的具体格式,字符类型的值只能设置其显示的长度(设

              置字符类型用a开头后面指定长度)

            eg:col table_name format a10;

            数值类型用‘9’代表一位数字(可以加入¥$等符号)

            eg:col table_name format 999.99;

         3、清除设置的格式

            COL|COLUMN  column_name CLEAR;

      3、查询表中所有字段以及指定字段

            查询所有字段   select * from table_name;

            查询指定字段   select column_name1,column_name2,..fromtable_name;

      4、给查询结果字段设置别名(AS可以省略,使用空格隔开原字段名和新字段名即可)

            SELECT  column_name AS new_name,... FROM  table_name;

      5、运算符和表达式

            表达式:由操作数和运算符组成

            Oracle中的操作数可以有变量、常量和字段。

            运算符:

                算术运算符 +、-、*、/

                比较运算符>、>=、<、<=、=、<> 、!=通常在WHERE后的判断条件

                逻辑运算符(按优先级顺序依次递减)not、and、or

            注:比较运算符的优先级高于逻辑运算符

      6、带条件查询

            1、单一条件查询

            SELECT * FROM table_name WHERECONDITIONS;

            2、多条件查询

            SELECT * FROM table_name WHERE condition1[AND|OR|NOT] condition2;

      7、模糊查询

            通配符的使用(_、%) 一个_只能代表一个字符,%可以代表0到多个字符。

            SELECT * FROM table_name WHEREcolumn_name LIKE'%xx%';

      8、范围查询

            1、BETWEEN AAND B (从A值到B值之间,A<B)

            SELECT * FROM table_name WHEREcolumn_name BETWEEN A AND B;

            2、IN|NOT IN(IN后面的值并不是一个范围,而是具体的值的集合)

            SELECT * FROM table_name

WHERE column_name IN|NOTIN('value1','value2','value3',...);

      9、对查询结构排序(根据某个(多个)字段进行升序ASC|降序DESC排列) ASC可省略。

             SELECT * FROM table_name

[WHERE conditions] ORDER BY column_name1[ASC | DESC],....;

      10、case...when语句的使用(根据查询结果字段不同的值显示不同的结果)

            1、CASEcolumn_name WHEN value1 THEN result1,...[ELSE result] END;

            eg:

               SELECT column_name1,CASEcolumn_name1

               WHEN  'A' THEN 'AAA'

               WHEN  'B' THEN 'BBB'

               ELSE 'XXX'

               END AS column_name2  from table_name;

            注:当column_name1的值为A时,column_name2的值取AAA,

                当column_name1的值为B时,column_name2的值取BBB,

                否则,column_name2的值为XXX,

            2、CASE搜索模式

               CASE  WHEN column_name=value1

               THEN  result1,...[ELSE result] END;

               eg:

                  SELECT column_name1,CASE WHENcolumn_name1='A' THEN 'AAA'

                                           WHENcolumn_name1='B' THEN 'BBB'

                                           ELSE'XXX' END AS column_name2

                                           fromtable_name;

      11、decode函数的使用(对字段当中的值进行一个条件的判断)

          DECODE(column_name,value1,result1,...,defaultvalue)

          eg:

             SELECTcolumn_name1,DECODE(column_name1,'A','AAA','B','BBB','XXX')

             AS column_name2 from table_name;

         注:当column_name1的值为A时,column_name2的值为AAA,当column_name1

            的值为B时,column_name2的值为BBB。


猜你喜欢

转载自blog.csdn.net/yu_ge_ge/article/details/80625249