SQL学习笔记

简介: 本文基于Mosh Hamedani 的SQL教学视频,传送门av71348135,视频中用到的sql执行文件在这里cfk3 。那么,我们就开始吧。(持续更新中)1.The SELECT Statement目标:查找sql_store数据库的顾客表,要求按顾客名的字典序输出顾客编号为1的顾客记录USE sql_store;SELECT *FROM customersWHERE customer_id=1ORDER BY first_name注意:代码第1行末尾的分号不能丢,否则无法执行,还要留意SELECT,WHERE,ORDER BY的先后顺序。2.The SELEC

本文基于Mosh Hamedani 的SQL教学视频,传送门av71348135,视频中用到的sql执行文件在这里cfk3 。那么,我们就开始吧。(持续更新中)

1.The SELECT Statement

目标:查找sql_store数据库的顾客表,要求按顾客名的字典序输出顾客编号为1的顾客记录

USE sql_store;
SELECT *
FROM customers
WHERE customer_id=1
ORDER BY first_name
注意:代码第1行末尾的分号不能丢,否则无法执行,还要留意SELECT,WHERE,ORDER BY的先后顺序。

2.The SELECT Clause

目标:查找顾客表,要求输出顾客的姓、名、积分、折现系数,其中折现系数=(积分+10)*100

SELECT

first_name,
last_name,
points,
(points+10)*100 AS 'discount factor' 
--DISTINCT state

FROM customers
注意:查找的各列之间用逗号隔开,新建的列要及时用AS命名,英文字母串要加单引号。代码第6行以--开头,这是SQL中注释的标准写法。取消注释后,第6行代码的意思是输出顾客表中不同州的名称。

3.The WHERE Clause

目标:查找订单表,要求输出2019年的所有订单记录

SELECT*
FROM orders
WHERE order_date>='2019-01-01'
注意:日期的格式要规范,即按照year-month-date的格式书写,且加单引号。常用的比较符号有=, >, <, >=, <=, != 和<>,最后两个符号表示的都是不等于。

4.The AND, OR, and NOT Operators

目标:查找顾客表,要求输出出生在1990年1月1日后,或者积分大于1000的顾客记录

SELECT*
FROM customers
WHERE birth_date>'1990-01-01' OR points>1000
--WHERE NOT(birth_date<='1990-01-01'AND points<=1000)
注意:为了保证逻辑正确,要适当添加括号,第4行在逻辑上与第3行是等同的。

5.The IN Operator

目标:查找顾客表,要求输出位于弗吉尼亚州、佛罗里达州或者佐治亚州的顾客记录

SELECT*
FROM customers
WHERE state IN('VA','FL','GA')
6.The BETWEEN Operator

目标:查找顾客表,要求输出在1990年1月1日和2000年1月1日之间出生的顾客记录(包含端点)

SELECT*
FROM customers
WHERE birth_date BETWEEN '1990-01-01' AND '2000-01-01'
--WHERE birth_date >='1990-01-01' AND birth_date<='2000-01-01'
注意:在MYSQL的语法中,BETWEEN AND语句是包含端点的,不包含QQ账号购买平台端点的情形可按照第4行注释来改写。

7.The LIKE Operator

目标:查找顾客表,要求输出地址包含TRAIL或AVENUE的顾客记录

SELECT*
FROM customers
WHERE address LIKE '%TRAIL%' OR

   address LIKE '%AVENUE%'

--% any number of characters
--_single character
注意:占位符%可表示任意长度的字母,而_表示一个字母。

8.The REGEXP Operator

目标:查找顾客表,要求输出 1.姓ELKA或AMBUR的顾客 2.名以EY或ON结尾的顾客 3.名以MY开头并且包含SE的顾客 4.名中包含B,且B之后是R或U(多行输出写在注释里)

SELECT*
FROM customers
WHERE first_name REGEXP 'elka|ambur'
--WHERE last_name REGEXP 'ey$|on$'
--WHERE last_name REGEXP '^my|se'
--WHERE last_name REGEXP 'b[ru]'
--^ beginning
--$ end
--| logical or
--[abcd]
--[a-h]

目录
相关文章
|
6月前
|
SQL 数据库管理
第二章:基础查询与排序---SQL学习笔记
第二章:基础查询与排序---SQL学习笔记
79 0
|
6月前
|
SQL 关系型数据库 MySQL
简简单单 My SQL 学习笔记(1)——表中数据的整删改查
简简单单 My SQL 学习笔记(1)——表中数据的整删改查
|
6月前
|
SQL 关系型数据库 MySQL
简简单单 My SQL 学习笔记(2)——分组和简单数据的查询
简简单单 My SQL 学习笔记(2)——分组和简单数据的查询
|
6月前
|
SQL 关系型数据库 MySQL
简简单单 My SQL 学习笔记(3)——连接和嵌套查询
简简单单 My SQL 学习笔记(3)——连接和嵌套查询
java202304java学习笔记第六十六天-ssm-动态sql-一对一的配置实现1
java202304java学习笔记第六十六天-ssm-动态sql-一对一的配置实现1
59 0
java202304java学习笔记第六十七天-ssm-动态sql-多对多注解开发之1
java202304java学习笔记第六十七天-ssm-动态sql-多对多注解开发之1
58 0
|
6月前
|
SQL OLAP Serverless
第五章:SQL高级处理---SQL学习笔记
第五章:SQL高级处理---SQL学习笔记
64 0
|
6月前
|
SQL 关系型数据库 MySQL
第四章:集合运算---SQL学习笔记
第四章:集合运算---SQL学习笔记
93 0
|
6月前
|
SQL 关系型数据库 数据库
第三章:复杂一点的查询--SQL学习笔记
第三章:复杂一点的查询--SQL学习笔记
110 0
|
6月前
|
SQL 关系型数据库 MySQL
第一章:初识数据库---SQL学习笔记
第一章:初识数据库---SQL学习笔记
89 0
下一篇
无影云桌面