SELECT * FROM products;该语句检索出products表中所有的列。
SELECT vend_id FROM products;该语句检索出products表中vend_id一列。
SELECT DISTINCT vend_id FROM products;该语句检索出products表中vend_id列,并消除重复的列。
SELECT prod_price FROM products LIMIT 5;该语句检索出products表中produ_price的前5行。
SELECT prod_price FROM products LIMIT 2,3;该语句对检索出的prod_price从第二个开始返回3个数据。注意与上面例子对比可以看出,第一行是0.
SELECE prod_name FROM products ORDER BY prod_name;该语句对检索出的prod_name进行排序,默认使用升序排列。若想使用降序,需要在最后加上关键字DESC.
使用order by 家LIMIT可以检索出最大或最小值。
SELECT prod_price FROM products order by prod_price DESC LIMIT 1;检索出价格最大的值。
where 限制检索条件(=,<>,!=,<,>,between,and,or in):其中<>,!=这两种方式表示不等于。between,限制在区间的值。and 并操作,or与操作。也可以运用not between, not in等操作。
SELECT prod_id,prod_price,prod_name FROM products where vend_id=1001 AND prod_price<=10;
SELECT vend_id,prod_id,prod_price,prod_name FROM products where vend_id=1001 OR prod_price<=10;
SELECT vend_id,prod_id,prod_price,prod_name FROM products where (vend_id=1001 OR vend_id=1003) AND prod_price<=10;该语句一定要注意计算次序,若不加括号的话会先计算vend_id=1003 AND prod_price<=10, 再与vend_id=1001与运算。
SELECT vend_id,prod_id,prod_price,prod_name FROM products where vend_id=1001 OR vend_id=1003 AND prod_price<=10;不加括号的话,计算次序改变。先计算vend_id=1003 AND prod_price<=10, 再与vend_id=1001与运算。将vend_id=1001中prod_price<=10也返回了。
通配符:_和like。进行模糊搜索。
_只匹配一个字符。%匹配0个或多个字符。%不匹配NULL。注意搜索中是区分大小写的。
SELECT prod_name FROM products where prod_name like '%anv%';匹配带有anv的产品名字。
SELECT prod_id,prod_name FROM products where prod_name like '_ ton anvil';匹配前面只有一个字符,所以上面例子中.5不能被匹配到,只匹配到两行。