GO ON---(SQL高级)
SQL BETWEEN 操作符
操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;
eg: select lastname ,firstname from persons where lastname between 'w3' and 'kl';
SELECT * FROM Person WHERE Lastname BETWEEN 'Adams' AND 'Carter';
显示范围之外的人:使用NOT BETWEEN:
SELECT *FROM Person WHERE Lastname NOT BETWEEN 'Adams' AND 'Carter'
SQL Alias(别名; 需要给列/表 取别名,跟在列/表 名后即可)
表的SQL Alias 用法(表格别名,给一个表格取一个别名)
select 列名称 from 表名称 as 新表名;
SELECT column_name FROM table_name AS alias_name
列的SQL Alias 用法(栏目/列的别名,目的在于让SQL产生的结果易读)
select 列名称 as 新列名 from 表名;
SELECT column_name AS alias_name FROM table_name
使用表名别称名(假设有两个表分别是:"Persons" 和 "Product_Orders"。分别为它们指定别名 "p" 和 "po"。要求列出 "John Adams" 的所有定单。)
SELECT po.Order_id,p.Lastname,p.Firstname FROM Person AS p, Product_Orders AS po WHERE p.Lastname= 'Adams' AND p.Firstname='John'
使用列名别称名
SELECT Lastname AS Famliy,Firstname AS Name FROM Person
SQL JOIN(用于根据两个或多个表中的列之间的关系,从这些表中查询数据)
引用两个表
SELECT Person.Lastname,Person.Firstname,Orders.OrderNO FROM Person,Orders WHERE Person.ID_p=Orders.ID_P;
SELECT Person.Lastname,Person.Firstname,Orders.OrderNO FROM Person INNER JOIN Orders ON Person.ID_p=Orders.ID_P ORDER BY Person.Lastname
INNER JOIN:内连接
除此之外,还有以下几种JOIN类型
JOIN: 如果表中有至少一个匹配,则返回行
LEFT JOIN: 即使右表(Order)中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表(Person)中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。