2.SQL基础教程(二)-查询基础

本文介绍了SQL的基础查询,包括SELECT语句的列选择、全列查询、别名设置、常数查询、去重、WHERE子句的应用,以及算术运算符、比较运算符、逻辑运算符的使用,特别关注了NULL值处理和字符串比较的注意事项。
摘要由CSDN通过智能技术生成

一、SELECT语句基础

1 列的查询

基本的SELECT语句。

SELETC <列名>,...
FROM <表名>;

2 查询全部的列

想要查询出全部列时,可以使用代表所有列的星号(*)。

SELECT *
FROM <表名>;

 【注意】如果使用星号的话,就无法设定列的显示顺序。

3 为列设定别名

使用 AS 关键字为列设定别名。

SELECT product_id AS id
FROM Product;
--别名可以使用中文,使用中文时需要用双引号(")括起来
SELECT product_id AS "产品编号"
FROM Product;

4 常数的查询

SELECT '商品' AS string, 38 AS number, '2009-02-24' AS date, product_id, product_name
FROM Product;
--在SQL语句中使用字符串或者日期常数时,必须使用单引号 (')将其括起来。

5 从结果中删除重复行

在SELECT语句中使用DISTINCT可以删除重复行。

SELECT DISTINCT product_type
FROM Product;

6 WHERE语句

SELECT 语句通过 WHERE 子句来指定查询数据的条件。

SELECT <列名>
FROM <表名>
WHERE <条件表达式>;
--例如
SELECT product_name, product_type
FROM Product
WHERE product_type = '衣服';
--也可以不选取出作为查询条件的列
SELECT product_name
FROM Product
WHERE product_type = '衣服';

首先通过 WHERE 子句查询出符合指定条件的记录,然后再选取出 SELECT 语句指定的列。

【注意】WHERE 子句必须紧跟在 FROM 子句之后。

二、算术运算符和比较运算符

1 算术运算符

SQL 语句中可以使用计算表达式。

  • 四则运算:运算符(+、-、*、/)称为算术运算符。
  • 括号优先级:SQL 中也可以像平常的运算表达式那样使用括号 ( )。括号中 运算表达式的优先级会得到提升,优先进行运算。
  • NULL问题:所有包含 NULL 的计算,结果肯定是 NULL。

2 比较运算符

符号 = (等于)这样用来比较其两边的列或者值的符号称为比较运算符。

SELECT product_id
FROM Product
WHERE sale_price = 500;

符号<>(不等于)代表否定含义的比较运算符。

SELECT product_id
FROM Product
WHERE sale_price <> 500;

 

【注意】

  • 小于某个日期就是在该日期之前的意思。
  • WHERE子句的条件表达式中也可以使用计算表达式 。
SELECT product_name, sale_price, purchase_price
FROM Product
WHERE sale_price - purchase_price >= 500;

3 对字符串使用不等号时的注意事项

字符串类型的数据原则上按照字典顺序进行排序,不能与数字的大小顺序混淆。

4 不能对NULL使用比较运算符

希望选取NULL记录时,需要在条件表达式中使用IS NULL运算符。希望选取不是NULL的记录时,需要在条件表达式中使用IS NOT NULL运算符。

--IS NULL
SELECT product_name, purchase_price
FROM Product
WHERE purchase_price IS NULL;

--IS NOT NULL
SELECT product_name, purchase_price
FROM Product
WHERE purchase_price IS NOT NULL;

三、逻辑运算符

1 NOT运算符

 NOT 不能单独使用,必须和其他查询条件组合起来使用。NOT运算符用来否定某一条件,但是不能滥用。

SELECT product_name, product_type, sale_price
FROM Product
WHERE NOT sale_price >= 1000;

2 AND运算符和OR运算符

在 WHERE 子句中使用 AND 运算符或者 OR 运算符,可以对多个查询条件进行组合。

  • AND 运算符在其两侧的查询条件都成立时整个查询条件才成立,其意思相当于“并且”。
SELECT product_name, purchase_price
FROM Product
WHERE product_type = '厨房用具'
AND sale_price >= 3000;
  • OR 运算符在其两侧的查询条件有一个成立时整个查询条件都成立, 其意思相当于“或者”。
SELECT product_name, purchase_price
FROM Product
WHERE product_type = '厨房用具'
OR sale_price >= 3000;

【注意】 AND运算符的优先级高于OR运算符。想要优先执行OR运算符时可以使用括号。

SELECT product_name, product_type, regist_date
FROM Product
WHERE product_type = '办公用品'
AND ( regist_date = '2009-09-11'
OR regist_date = '2009-09-20');

3 逻辑运算符和真值

 通过创建真值表,无论多复杂的条件,都会更容易理解。

4 含有NULL时的真值

与通常的逻辑运算被称为二值逻辑相对,只有 SQL 中的逻辑运算被称为三值逻辑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值