数据库学习02
(1)select top 子句用于规定要返回的记录数目
从Websites 表中选取头两条记录
select * from Websites limit 2;
从websites表中选取前面50%的记录
select top 50 percent * from Websites;
(2)like操作符用于在where子句中搜索列中的指定模式
SQL 语句选取 name 以字母 "G" 开始的所有客户
select * from Websites where name Like ‘G%’;
SQL 语句选取 name 以字母 "k" 结尾的所有客户
select * from Websites where name like ‘%k’;
SQL 语句选取 name 包含模式 "oo" 的所有客户
select * from Websites Where name like ‘%oo%’
SQL 语句选取 name 不包含模式 "oo" 的所有客户
select * from Websites where name not like ‘%oo%’;
(3)in 操作符允许你在where子句中规定多个值
select * from Websites where name in(‘Google’,’菜鸟教程’);
(4)BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
SQL 语句选取 alexa 介于 1 和 20 之间的所有网站
select * from Websites where alexa between 1 and 20;
SQL 语句选取alexa介于 1 和 20 之间但 country 不为 USA 和 IND 的所有网站
select * from Websites where (alexa between 1 and 20) and not country in (‘USA’,’IND’);
(5)通过使用 SQL,可以为表名称或列名称指定别名。
select name as n , country as c from Websites;
(6)SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。
select Websites.id,Websites.name,access_log.count,access_log.date from Websites inner join access_log on Websites.id = access_log.site_id;
(7)UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
select country, name from Websites where country = ‘CN’ union all select country,app_name from apps where country = ‘cn’ order by country;
(8)SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。
创建备份
select * into WebsitesBackup2016 from Websites;
只复制一些列插入到新表中
select name,url into WebsitesBackup2016 from Websites where country = ‘CN’;
复制多个表中的数据插入到新表中:
SELECT Websites.name, access_log.count, access_log.date
INTO WebsitesBackup2016
FROM Websites
LEFT JOIN access_log
ON Websites.id=access_log.site_id;
(9)INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。
复制 "apps" 中的数据插入到 "Websites" 中
insert into Websites(name,country) select app_name,country from apps;