2、查询基础

2-1:SELECT语句基础

  1、使用SELECT语句从表中选取数据

  2、为列设定显示用的别名

  3、SELECT语句中可以使用常数或者表达式

  4、通过指定DISTINCT可以删除重复的行

  5、SQL语句注释

  6、可以通过WHERE语句从表中选取出符合查询条件的数据

2-1-1:列的查询

  语法2-1:SELECT <>,.... FROM <表名>;

-- 从Shohin表中输出3列
SELECT shohin_id, shohin_mei, shohin_tanka
FROM Shohin;

2-1-2:查询出表中的所有列

  语法2-2:SELECT *  FROM <表名>;

-- 输出Shohin表中全部的列
SELECT * FROM shohin;

  法则2-1:星号(*)代表全部列的意思。

 

2-1-3:为列设定别名:使用AS关键词

-- 为列设定别名
SELECT shohin_id AS id,
             shohin_mei AS namae,
             shiire_tanka AS tanka
FROM Shohin;

-- 设定汉语别名
SELECT shohin_id AS "商品编号",
             shohin_mei AS "商品名称",
             shiire_tanka AS "进货单价"
FROM Shohin;

  法则2-2:设定汉语别名时需要使用双引号("")括起来。

2-1-4:常数的查询:直接输入

2-1-5:从结果中删除重复行

  法则2-3:在SELECT语句中使用DISTINCT可以删除重复行,且作用与之后的跟着的所有列。

-- 去除shohin_bunrui列中重复的数据
SELECT DISTINCT shohin_bunrui
FROM Shohin;

-- 在多列之前使用DISTINCT
SELECT DISTINCT shohin_bunrui, torokubi
FROM Shohin;

2-1-6:根据WHERE语句来选择记录

  语法2-3:SELECT <列名>,.....

       FROM <表名>

       WHERE <条件表达式>;

 

-- 选取shohin_bunrui列为”衣服“的记录的SELECT语句
SELECT shohin_mei, shohin_bunrui
FROM Shohin
WHERE shohin_bunrui = '衣服';

 

  法则2-4:WHERE子句紧跟在FROM子句之后。

2-1-7:注释的书写方法

  1、行注释:书写在"--"这后,只能写在同一行,Mysql要空格。

  2、多行注释:书写在"/**/"之间,可以跨多行。

2-2:算术运算符和比较运算符

  1、运算符就是对其两边的列或者值进行运算(计算或者大小比较乖)符号

  2、使用算术运算符可以进行四则运算

  3、括号可以提升运算的优先顺序

  4、包含NULL的运算,其结果也是NULL

  5、比较运算符可以用来判断列或者值是否相等,还可以用来比较大小

  6、判断是否为NULL,需要使用IS NULL或者IS NOT NULL运算符

2-2-1:算术运算符:+ - * /

-- 商品单价的两倍
SELECT shohin_mei,hanbai_tanka,hanbai_tanka * 2 AS "hanbai_tanka_x2"
FROM Shohin;

  法则2-6:SELECT子句中可以使用常数或者表达式。

2-2-2:需要注意NULL:所有包含NULL的计算,结果肯定是NULL

2-2-3:比较运算符

比较运算符
运算符 含义
= 是否相等
<> 不相等
>= 大于等于
> 大于
<= 小于等于
< 小于

 

 

 

 

 

 

 

 

 

 

-- 选出hanbai_tanka列为500的记录
SELECT shohin_mei, shohin_bunrui
FROM Shohin
WHERE hanbai_tanka = 500;

2-2-4:对字符串使用不等号时的注意事项

  '1-3'比'2'小,'3'大于'2-2'

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

2-2-5:不能对NULL使用比较运算符

  法则2-9:选取NULL记录时,需要在条件表达式中使用IS NULL运算符,选取不是NULL时使用 IS NOT NULL运算符。

2-3:逻辑运算符

  1、通过逻辑运算符可以组个多个查询条件

  2、通过NOT运算符可以组成"不是"这样的查询条件

  3、两边条件都成立时,使用AND查询条件才成立

  4、两边成立一个,使用OR运算符查询条件成立

  5、SQL中的逻辑运算是包含对真、假和不确定进行运算的三值逻辑

2-3-1:NOT运算符

SELECT shohin_mei, shohin_bunrui, hanbai_tanka
FROM Shohin
WHERE NOT hanbai_tanka >= 1000;

  法则2-10:NOT运算符用来否定一条件,但不能滥用。

2-3-2:AND运算符和OR运算符

  法则2-13:AND运算符的优先级高于OR运算符,想要提高优先级使用括号。

2-3-3:逻辑运算符和真值

  1、AND两个都为真才为真

  2、OR一个为真就为真

2-3-4:含有NULL时的真值,含有不确定(NULL)都为不确定(NULL)。

 

posted @ 2017-03-20 22:05  起航追梦人  阅读(223)  评论(0编辑  收藏  举报