![ee67ebf4e16c82d295ba891f4b1897aa.png](https://img-blog.csdnimg.cn/img_convert/ee67ebf4e16c82d295ba891f4b1897aa.png)
本文基于Mosh Hamedani 的SQL教学视频,传送门av71348135,视频中用到的sql执行文件在这里cfk3 。那么,我们就开始吧。(持续更新中)
1.The SELECT Statement
目标:查找sql_store数据库的顾客表,要求按顾客名的字典序输出顾客编号为1的顾客记录
USE
注意:代码第1行末尾的分号不能丢,否则无法执行,还要留意SELECT,WHERE,ORDER BY的先后顺序。
2.The SELECT Clause
目标:查找顾客表,要求输出顾客的姓、名、积分、折现系数,其中折现系数=(积分+10)*100
SELECT
注意:查找的各列之间用逗号隔开,新建的列要及时用AS命名,英文字母串要加单引号。代码第6行以--开头,这是SQL中注释的标准写法。取消注释后,第6行代码的意思是输出顾客表中不同州的名称。
3.The WHERE Clause
目标:查找订单表,要求输出2019年的所有订单记录
SELECT
注意:日期的格式要规范,即按照year-month-date的格式书写,且加单引号。常用的比较符号有=, >, <, >=, <=, != 和<>,最后两个符号表示的都是不等于。
4.The AND, OR, and NOT Operators
目标:查找顾客表,要求输出出生在1990年1月1日后,或者积分大于1000的顾客记录
SELECT
注意:为了保证逻辑正确,要适当添加括号,第4行在逻辑上与第3行是等同的。
5.The IN Operator
目标:查找顾客表,要求输出位于弗吉尼亚州、佛罗里达州或者佐治亚州的顾客记录
SELECT
6.The BETWEEN Operator
目标:查找顾客表,要求输出在1990年1月1日和2000年1月1日之间出生的顾客记录(包含端点)
SELECT
注意:在MYSQL的语法中,BETWEEN AND语句是包含端点的,不包含端点的情形可按照第4行注释来改写。
7.The LIKE Operator
目标:查找顾客表,要求输出地址包含TRAIL或AVENUE的顾客记录
SELECT
注意:占位符%可表示任意长度的字母,而_表示一个字母。
8.The REGEXP Operator
目标:查找顾客表,要求输出 1.姓ELKA或AMBUR的顾客 2.名以EY或ON结尾的顾客 3.名以MY开头并且包含SE的顾客 4.名中包含B,且B之后是R或U(多行输出写在注释里)
SELECT