您的位置:首页 > 数据库

SQL语言简介(一)

2008-09-09 12:00 183 查看
一、SELECT子名

        SELECT select_list    //指定由查询返回的列

                       [ INTO new_table ] //创建新表并将结果行从查询插入新表中

                       FROM table_source //指定从其中检索行的表或视图

                       [ WHERE search_condition ] //指定限制返回行的搜索条件

                       [ GROUP BY group_by_expression ] //指定查询结果的分组条件

                       [ HAVING search_condition ] //指定组或聚合的搜索条件

                       [ ORDER BY order_exception [ ASC  | DESC ]] //指定结果集的排序

         1、选择所有列

               SELECT * FROM table_source

         2、选择部分列

               SELECT fieldname1 [ , fieldname2 , ...] FROM table_source

         3、使用列别名

               SELECT fieldname1 AS alias [ , fieldname2 AS alias , ... ] FROM table_source

         4、WHERE子句用到的条件运算符

                比较运算符: > , < , >= , <= , !> ,  !< , = , <> , !=

                范围运算符:BETWEEN... AND , NOT BETWEEN ... AND

                列表运算符:IN , NOT IN

                模糊运算符:LIKE , NOT LIKE

                逻辑运算符:AND , OR , NOT

                空值判断符:IS NULL , IS NOT NULL

          5、模糊查询

                SELECT语句提供了LIKE 和 NOT LIKE 进行模式匹配,即实现模糊查询

                 % : 由零个或更多字符组成的任意字符串

                           SELECT * FROM tb_book WHERE bookname LIKE 'JSP%'

                 _  : 任意单个字符

                           SELECT * FROM tb-book WHERE bookname LIKE '_SP'

                 [ ] : 指定一个字符、字符串或范围,要求所匹配的对象为它们中的一个

                           SELECT * FROM tb_book WHERE bookname LIKE '[ A , J]SP'

                 [^ ]: 指定一个字符、字符串或范围,要求所匹配的对象为指定范围之外的字符

                            SELECT * FROM tb_book WHERE bookname LIKE '[^A]SP'

          6、遇到查询出指定列为空值的记录,并将该列用特定的值替换

                SELECT  id, name, bankname, isNull(bankno, '暂无') from tb_customer where bankno is null

          7、去除查询结果中的重复记录

                SELECT DISTINCT fieldname1 [ , fieldname2 , ....] FROM table_source [WHERE search_condition]

                DISTINCT :返回惟一的行

                ALL : 返回所有限定的行,为默认值,一般不会用它

          8、限制结果集返回的行数

                在SQL Server中使用TOP关键字

                        SELECT TOP n [ PERCENT ] fieldname1 [ , fieldname2 , ...] FROM table_source [ WHERE search_condition]

                        // n表示返回的行数,如指定PERCENT,则n必须是整数,表示返回的记录数;若指定PERCENT,则n可以是小

                           数,取值为0 ~ 100,表示结果集的百分比返回记录数

                在MySQL中使用LIMIT关键字

                        SELECT fieldlist   //字段名

                                       FROM table_source  //从其中获取数据的表的名称

                                       [ WHERE selectcriteria ] //查询条件

                                       [ LIMIT [ offset , ] rows ] //offset:要返回的第一行的偏移量,初始行的偏移量是0,rows:返回行的最大数

         9、聚合函数

               count():用于统计结果集中全部记录行的数量,最多为人147483647

                              SELECT COUNT([ ALL | DISTINCE ] expression ) / COUNT(*) FROM table_source

               sum():对某一列的数值进行求和

                             SELECT SUM ([ ALL | DISTINCT ] expression ) FROM table_source [ WHERE search_condition ]

                              // ALL:默认值,对全部数据进行计算

                              // DISTINCT:可选值, 表示对去除重复记录后的数据进行计算

                             // expression:进行求和的列或是列名组成的表达式

               avg() :对某一列的数值进行求平均数

                             SELECT AVG( [ ALL | DISTINCT ] expression ) FROM table_source [ WHERE search_condition ]

               min() : 找出某一列元素的最小值

                             SELECT MIN( expression ) / MAX( expression ) FROM table_source [ WHERE  search_condition ]

               max() : 找出某一列元素的最大值       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息