在sql中想要搜索带有_的名称怎么输入呢?应该是select 商品名称 from商品清单 where 商品名称 like ‘%/_%’ escape '/';
IN的意思是符合括号内任意数值,其实从表面上看和or是一个意思,比如敲如下指令select 负责人姓名 from负责人清单 where负责人ID IN
(1,2,3)这里的where指令和where 负责人ID=1 or 负责人ID=3;
想找为NUll值的东西,需要配合IS,比如where贩卖单价 IS NULL;
使用join叙述来连接时,必须先在join之后写上欲结合的资料表,再以on来指定结合条件。inner join是指内部结合,是最基本的集合方式,只要在两个表的公共的字段中有相符的值
INNER JOIN(等值连接) 只返回两个表中联结字段相等的行
LEFT JOIN(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
RIGHT JOIN(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
INNER JOIN 语法:
INNER JOIN 连接两个数据表的用法:
SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号
INNER JOIN 连接三个数据表的用法:
SELECT * FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号
INNER JOIN 连接四个数据表的用法:
SELECT * FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号;
如果想搜寻的时候按顺序来的话,就是order by...比如 select 姓名 from 负责人姓名 order by 姓名拼音这样,如果后面加上DESC的话就是按降序排列,要是用到ASC的话就是升序排列。
如果想统计资料时,比如想找一共有多少件就是select count(贩卖单价) from 商品清单,这样子
如果想要群组的话就是group by比如 select 群组名称,count(*) from 商品清单 group by 群组名称 order by群组名称
sum()这个函数主要是用来统计综合的,使用率比较高,主要与group by叙述结合在一起
如果当要只将符合某些条件的统计结果输出时,就要使用到having叙述。不过有一点要注意:必须要在进行了群组化之后才能使用HAVING
如果要想去除重复的话就加上distinct去除重复。。
SQL可以用MAX()、MIN()、AVG()这几个函数来求得最大值、最小值、平均值。这些函数与count()、sum()一样,都会把NULL值排除在统计对象外。另外由于MAX()和MIN()对日期也有效,因此可以用来求得最新的处理日。
子查询必须要学会,就是where 中再有个select