基础查询与排序

  • SELECT语句基础
  • 1. 选择数据
  • 2.算数运算符和比较运算符
  • 3.逻辑运算符
  • 总结

SELECT语句基础

1. 选择数据

SELECT<列名>
FROM<表名>
WHERE<条件表达式>;

WHERE 查询你在你需要的条件下限制的数据

-- 选取product type列为‘衣服’的记录
SELECT product_name, product_type
  FROM product
 WHERE product_type = '衣服';
-- 选取出符合条件的列(条件列与输出列不同)
SELECT product_name
  FROM product
 WHERE product_type = '衣服';
-- 想要查询出全部列时
SELECT *
  FROM <表名>;
-- SQL语句可以使用AS关键字为列设定别名(用中文时需要双引号(“”))。
SELECT product_id     As id,
       product_name   As name,
       purchase_price AS "进货单价"
  FROM product;
-- 使用DISTINCT删除product_type列中重复的数据,但是并不会直接删除数据
SELECT DISTINCT product_type
  FROM product;

2.算数运算符和比较运算符

含义

运算符


+


-


*


÷

-- 选取出sale_price列为500的数据
SELECT product_name, product_type
  FROM product
 WHERE sale_price = 500;
-- SQL语句中也可以使用运算表达式,AS相当于在运行时先新建了一个表头
SELECT product_name, sale_price, sale_price * 2 AS "sale_price x2"
  FROM product;
  
-- WHERE子句的条件表达式中也可以使用计算表达式
SELECT product_name, sale_price, purchase_price
  FROM product
 WHERE sale_price-purchase_price >= 500;
 
/* 对字符串使用不等号
首先创建chars并插入数据
选取出大于‘2’的SELECT语句*/
-- DDL:创建表
CREATE TABLE chars
(chr CHAR(3)NOT NULL,
PRIMARY KEY(chr));

-- 选取出大于'2'的数据的SELECT语句('2'为字符串)
SELECT chr
  FROM chars
 WHERE chr > '2';
 
-- 选取NULL的记录
SELECT product_name, purchase_price
  FROM product
 WHERE purchase_price IS NULL;
 
-- 选取不为NULL的记录
SELECT product_name, purchase_price
  FROM product
 WHERE purchase_price IS NOT NULL;

3.逻辑运算符

NOT运算符

-- 选取出销售单价大于等于1000日元的记录
SELECT product_name, product_type, sale_price
  FROM product
 WHERE sale_price >= 1000;
-- 向代码清单2-30的查询条件中添加NOT运算符
SELECT product_name, product_type, sale_price
  FROM product
 WHERE NOT sale_price >= 1000;

AND运算符和OR运算符
AND 相当于“并且”,类似数学中的取交集;
OR 相当于“或者”,类似数学中的取并集。
AND 运算符优先于 OR 运算符
AND 运算符两侧的真值都为真时返回真,除此之外都返回假。
OR 运算符两侧的真值只要有一个不为假就返回真,只有当其两侧的真值都为假时才返回假。
NOT运算符只是单纯的将真转换为假,将假转换为真。
当出现NULL值时,则真假不确定,不确定(UNKNOWN)SQL 中的逻辑运算被称为三值逻辑