select有五种子句
为了加深理解的练习这五个语句,决定通过实际项目来对数据库进行查找操作,从而熟悉select的各种操作。
一、ecshop
按照教程中安装ecshop,并且创建一个仿ecshop的迷你商品表。
其中,迷你商品表有如下若干个字段。
利用'show create table goods'语句,得到ecshop中创建goods表的语句,并且从中抽取与上面字段相同的语句,用来构造迷你商品表。
利用insert语句把ecshop中的商品表数据导入上面构建的迷你商品表中。
至此,一个迷你商品表已经构造完毕,接下来学习select语句。
二、查询练习
由浅入深。
比较运算符:
任务1:查询主键为32的物品
任务2:查出不属于第3个栏目的所有商品
即cat_id不等于3,即!=
也可以用“<>“来表示“不等于”。
同理也可以作用于大于,大于等于。。。
任务3、取出第4和第11栏目的商品,不允许用or
此处不能用and。
用in(4,11)
任务4、取出价格在100到500元之间的商品(不允许用and)
用between and
逻辑运算符
任务5:取出不在第3个和不在第11个栏目的商品
用not in 和 and 分别实现。
image.png任务6:要注意逻辑运算符的优先级
取出第3个栏目下,价格小于1000或者大于3000,同时点击量大于等于5的商品
如果按照上图来做,发现cat_id等于5的也被查找出来了,原因在于,and的优先级大于or的优先级。解决方法:应该把第二个条件用括号括起来。
模糊查询
任务7 查出名称以诺基亚开头的商品
比如,诺基亚n96,诺基亚原装充电器
用模糊查询,like语句
上面中,诺基亚三个字后面的百分号%,可以匹配任意字符。
任务7 查出名称以诺基亚n开头,后面只有两个字符的商品
(比如,对于诺基亚n97,我只记得诺基亚n了,忘了后面的两个字母了)
网友评论