Sql的使用(二)进阶用法

sql进阶用法

Select TOP, LIMIT, ROWNUM 子句

Sql server
SELECT TOP number|percent column_name(s) FROM table_name;
Mysql
SELECT column_name(s) FROM table_name LIMIT number;
Oracle
SELECT column_name(s) FROM table_name WHERE ROWNUM <= number;

Like与通配符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。通配符与LIKE 操作符一起使用。通配符可用于替代字符串中的任何其他字符。

通配符描述
%替代 0 个或多个字符
_替代一个字符
[charlist]字符列中的任何单一字符
[^charlist]或[!charlist]不在字符列中的任何单一字符

In 操作符

操作符允许您在 WHERE 子句中规定多个值。

SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...);

BETWEEN 操作符

BETWEEN 操作符用于选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。

SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;

AS 别名

通过使用 SQL,可以为表名称或列名称指定别名。
基本上,创建别名是为了让列名称的可读性更强。

//列的 SQL 别名语法
SELECT column_name AS alias_name FROM table_name;
//表的 SQL 别名语法
SELECT column_name(s) FROM table_name AS alias_name;

union

UNION 操作符合并两个或多个 SELECT 语句的结果。

SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2;
SELECT column_name(s) FROM table1 UNION ALL SELECT column_name(s) FROM table2;

UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。
UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

join和inner/left/right/full join

INNER JOIN 关键字在表中存在至少一个匹配时返回行。

SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name=table2.column_name;
SELECT column_name(s) FROM table1 JOIN table2 ON table1.column_name=table2.column_name;

LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。

SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name=table2.column_name;
SELECT column_name(s) FROM table1 LEFT OUTER JOIN table2 ON table1.column_name=table2.column_name;

RIGHT JOIN 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。

SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name=table2.column_name;
SELECT column_name(s) FROM table1 RIGHT OUTER JOIN table2 ON table1.column_name=table2.column_name;

FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行,FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。

SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name=table2.column_name;

声明

以上内容均来源于实用中的网络和官方查找,若有批漏或侵权请告知。

感情有着极大的鼓舞力量,因此,它是一切道德行为的重要前提。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟天特斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值