SQL之SELECT

SQL也被称作:结构化查询语言(Structured Query Language):
    SQL SELECT语句的功能:SELECT语句从数据库中返回信息。
        列选择 :你能够使用SELECT语句的列选择功能选择表中的列。当你查询时,你能够选择你查询的表中指定的列。
        行选择 :你能够使用SELECT语句的行选择功能选择表中的行。你能够使用不同的标准限制你看见的行。
        连接 :你能够使用SELECT语句的连接功能来集合数据,这些数据被存储在不同的表中,在它们之间可以创建连接。
基础的SEL语句声明(Basic SELECT Statement):

 

SELECT    *|{[DISTINCT] column|expression [alias],...}    FROM    table;

 

    基本SELECT语句
        在最简单的形式中,SELECT语句必须包含下面的内容:

            一个SELECT子句,指定被显示的列
            一个FROM子句,指定表,该表包含SELECT子句中的字段列表在语法中:
            SELECT           是一个或多个字段的列表
            *                择所有的列
            DISTINCT           禁止重复
            column|expression      选择指定的字段或表达式
            alias              给所选择的列不同的别名
            FROM table              指定包含列的表

 

示例:

--查出所有
select * from dept
--查处字段deptno,dname
select deptno,dname from dept

 

SQL注意:
    SQL语句对大小写不敏感,除非指出。
    SQL语句可以写成一行或多行。
    关键字不能简写或分开折行。
    为了易于阅读和编辑,子句通常放在不同的行。
    应该使用缩进,以使代码更易阅读。
    关键字一般用大写输入;所有其它的名字和列,用小写输入。

算术表达式
    你可能需要修改数据显示方式,如执行计算,或者作假定推测,这些都可能用到算术表达式。一个算术表达式可以包含列名、固定的数字值和算术运算符。
算术运算符(Arithmetic Operators)
    除了FROM子句,你可以在任何一个SQL语句的子句中使用使用算术运算符(+,-,*,/)。
运算符优先级
    如果算术表达式包含有一个以上的运算,乘法和除法先计算。如果在一个表达式中的运算符优先级相同,计算从左到右进行。
    你可以用圆括号强制其中的表达式先计算

例子:   

 

select deptno,dname,deptno+2 from dept
select deptno,dname,12*deptno+2 from dept
 

列别名
    在显示查询结果时,通常用被选择列的名字作为列标题,也可以自定义标题(俗称别名)。
别名方式:

--加上" "别名:
select deptno  no,dname  n from dept
--用"as"起别名:
select deptno as no,dname as n from dept
--用"引号"起别名:
select deptno "no",dname "n" from dept
 
--禁止重复
select DISTINCT deptno "no",dname "n" from dept
--查看表结构,mysql都支持
DESCRIBE employee(oracle) == DESC employee(mysql)

 

关于空值:
空值
    如果一行中的某个列缺少数据值,该值被置为null, 或者说包含一个空。
    空是一个难以获得的、未分配的、未知的,或不适用的值。空和0或者空格不相同。0是一个数字,而空格是一个字符。
    任何数据类型的列都可以包含空。可是,某些约束,如,NOT NULL和PRIMARY KEY,防止在列中使用空。
空值 (续)
    如果在一个算术表达式中的列值为空,例如,用零做除数,会出错。可是如果除数为空,计算结果也为空或未知。
    在幻灯片的例子中,雇员King没有佣金,因为在算术表达式中的COMMISSION_PCT列为空,结果也为空。
--mysql中不支持空值,oracle暂还没有测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值