sql语句是一个数据库的深入的查询语句。今天我们就来说说sql语句的高级的用法。
首先我们来介绍下sql的通配符的使用.
1.limit限制了输出的结果的数量。比如在mysql数据库里面的写法select * from student limit 2。输出的结果只有2条数据库的记录,很简单,但是在其他的数据库里面确实由写不同。
2.like 模糊匹配。比如下面的sql语句 select * from student where name like ' 马% ' 该sql的语句的意思就是查找姓名是以马开头的,在数据库的表里面。还有就是select * from student where name like '%马' 意思就是在数据库表里面查找以马结尾的名字
假如sql语句select * from student where name like '%马%' 在数据库里面查找包含马的关键字的名字。同时like还可以和not and or关键字来一起使用。
二 下面我们来看看sql里面的通配符的使用
1.sql的通配符和sql语句的一起使用。sql通配符用于搜索表里面的数据。
1.% 用于替代0个或者是多个字符。
2.。- 替代一个字符。
3. 【charlist】字符列里面的任何的一个字符
4. 【^charlist】 不再字符序列的任何的一个字符或者是[!charlist]结果是都是一样的。
来看看下面的语句.
1.select * from websites where url like 'https%' 选取以https开头的网站
2. select * from website where url like ‘%oo%’ 选取url里面包含oo的所有网站
3 .select * FROM Websites WHERE name LIKE '_oogle'; SQL 语句选取 name 以一个任意字符开始,然后是 "oogle" 的所有客户
4. 下面的 SQL 语句选取 name 以 "G" 开始,然后是一个任意字符,然后是 "o",然后是一个任意字符,然后是 "le" 的所有网站: SELECT * FROM Websites WHERE name LIKE 'G_o_le';
三 。在sql语句里面,我们也可以使用正则表达式来配合sql语句来一起使用。
1.下面我们就来说说sql语句如何配合正则表达式来一起使用.
MySQL 中使用 REGEXP 或 NOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。
下面的 SQL 语句选取 name 以 "G"、"F" 或 "s" 开始的所有网站:
下面我们来看看这个sql语句如何填写
select * from website where name REGEXP ' ^[GFS] '
2.下面的 SQL 语句选取 name 不以 A 到 H 字母开头的网站: select * from website where name regexp '^[ ^ A-H]'
选择不以A到H所有开头的网站.
3.in 操作符容许你在where子句里面规定多个值. 来看看下面的代码 select * from website where name in ("google",“菜鸟教程”)
四 下面我们来看看sql语句的between语句的使用.
1. between 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。下面来看看语法
来看看下面的语句
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;
2. not between 表示的就是不再什么之间的。
SELECT column_name(s) FROM table_name WHERE column_name not between value1 AND value2;
3.
下面的 SQL 语句选取alexa介于 1 和 20 之间但 country 不为 USA 和 IND 的所有网站:
实例 SELECT * FROM Websites WHERE (alexa BETWEEN 1 AND 20) AND NOT country IN ('USA', 'IND');
4.下面的sql语句用于选取name以下面的 SQL 语句选取 name 以介于 'A' 和 'H' 之间字母开始的所有网站:
来看看sql语句的写法 SELECT * FROM Websites WHERE name BETWEEN 'A' AND 'H';
5.
下面的 SQL 语句选取 name 不介于 'A' 和 'H' 之间字母开始的所有网站:
实例
SELECT * FROM Websites WHERE name NOT BETWEEN 'A' AND 'H'
;在sql语句里面也可以结合正则表达式来使用Mysql 中间使用Regexp 或者是NOT Regexp来操作正则表达式,来看看下面的语句
select * from student where name Regexp'^[张]' 表示的就是在表里面查找以姓张开头的所有人.
假如不查找姓开头的所有人,语句是这样的select * from student where name Regexp ‘^[^张]’;
6.in 操作符用于在where子句里面规定多个值。例如
select * from student where name in(value1,value2,value3,value4.......)表示在着几个值里面查找。
SQL Between
between操作符用于选取介于两个范围之间的数据的值。这些值可能是数值,文本,或者日期
来看看下面的sql select * from student where number between A and B
NOT BETWEEN 刚好和上面的相反.
7.来看看带有in Between之间的操作实例.
来看看下面的sql语句操作实例.
select * from name where (number bewteen 1and 20) and not Country("USA","中国")
8.带有文本的between操作的实例.
select * from student where name between 'A' and 'H'
下面我们来学习下sql语句是如何实现多表查询的.来看看下面的代码.
在sql语句里面,我们将使用join方法来实现将将两个表或者是多个表的行结合起来的。
最常见的join类型就是:SQL INNER JOIN .从多个表里面返回满足条件的行.
在下一节,我们将重点看看多表查询。这个才是重点