一.检索数据
1.SELECT prod_name FROM products;--//从表products中检索一个名为prod_name的列。
2.SELECT prod_id,prod_name,prod_price FROM products;--//从表products中检索名为prod_id,prod_name,prode_price的列。
3.SELECT * FROM prdoucts;--//检索表products中的所有的列。
4.SELECT vend_id FROM products;//检索表products中的名为vend_id的列。
5.SELECT DISTINCT vend_id FROM products;//检索表products中的名为vend_id的列,但返回不同的数据。
6.SELECT DISTINCT vend_id,prod_price FROM products;//检索表products中的名为vend_id的列,返回不同的数据,检索名为prod_price的列。
7.SELECT prod_name FROM products LIMIT 5;//返回行不多于5行。
8.SELECT prod_name FROM products LIMIT 5,5;//5,5 开始位置,检索行数(行号从0开始)
9.SELECT products.prod_name FROM products;//完全限定的表名
二.排序数据
1.SELECT prod_name FROM products;//无排序
2.SELECT prod_name FROM products ORDER BY prod_name;//以prod_name的字母顺序排序
3.SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price,prod_name;//先按price再按name排序。
4.SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC;//按价格降序排序。
5.SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC,prod_name;//先按价格降序排列,再按name顺序排序。(如要在多个列上以降序排序,则必须对每个列指定DESC关键字)
6.SELECT prod_price FROM products ORDER BY prod_price LIMIT 1;//使用组合关键字找出最贵物品(ORDER BY 和 LIMIT 语句的顺序不能改变)
三.过滤数据
1.SELECT prod_name,prod_price FROM products WHERE prod_price=2.50;//从products检索两个列,返回prod_price的值为2.50的行。
2.条件操作符:
=,<>(不等于),!=,<,<=,>,>=
3.SELECT prod_name,prod_price FROM products WHERE prod_nam='fuse';//从products检索两个列,返回prod_name的值为fuse的行。
4.SELECT prod_name,prod_price FROM products WHERE prod_price<10;//
5.SELECT prod_name,prod_price FROM products WHERE prod_price<=10;
6.SELECT prod_id,prod_name FROM products WHERE prod_id<>1003;//
7.SELECT prod_name,prod_price FROM products WHERE prod_price BETWEEN 5 AND 10;//检索价格在5~10之间的产品(包括5和10)。
8.SELECT prod_name FROM products WHERE prod_price is NULL;//
9.SELECT prod_id,prod_price,prod_name FROM products WHERE vend_id=1003 AND prod_price<=10;
10.SELECT prod_name,prod_price FROM products WHERE vend_id=1002 OR vend_id=1003;
11.SELECT prod_name,prod_price FROM product WHERE vend_id=1002 OR vend_id=1003 AND prod_price>=10;//返回id为1002 和i d为1003且价格大于10的行(and的优先级高于or先结合and前后再结合or)
12,SELECT prod_name,prod_price FROM product WHERE (vend_id=1002 OR vend_id=1003) AND prod_price>=10//返回id为1002或1003 且 价格大于10的行。
13.SELECT prod_name,prod_price FROM product WHERE vend_id IN (1002,1003) ORDER BY prod_name;//返回id为1002,1003,所制造产品的名字。in的优点相比于OR,1.更加直观清楚。2.执行更快。3.可包含其他SELECT语句
14.SELECT prod_name,prod_price FROM product WHERE vend_id NOT IN (1002,1003) ORDER BY prod_name;//
四.用通配符进行过滤
1.%表示任何字符出现任意次数
SELECT prod_id,prod_name FROM product WHERE prod_name like 'jet%';//‘jet%’表示以jet为开头大的词,%告诉MySQL接受jet以后的任意字符。
SELECT prod_id,prod_name FROM product WHERE prod_name like '%anvil%';
SELECT prod_id,prod_name FROM product WHERE prod_name like 's%e';
2._表示任意单个字符
SELECT prod_id,prod_name FROM product WHERE prod_name like '_ ton anvil';//返回例如1 ton anvil。
3.不要过度使用通配符,如果其他操作能达到,优先使用其他
4.不要在搜索模式的开头处
标签:语句,name,数据库,id,products,select,prod,price,SELECT From: https://www.cnblogs.com/lyn002126/p/18387726