MySQL查询
子查询:
EXISTS和NOT EXISTS子查询
EXISTS子查询:在执行CREATE 或DROP语句前,可以使用EXISTS判断该数据库对象是否存在,返回值是true或false。
DROP TABLE IF EXISTS temp;
EXISTS也可以作为WHERE语句的子查询
select * from 表名 where exists(子查询);
NOT EXISTS子查询:表示不存在
子查询注意事项
1.子查询语句可以嵌套在SQL语句中任何表达式出现的位置
2.只出现在子查询中而没有出现在父查询中的表不能包含在输出列中,嵌套在SELECT语句的SELECT子句中的子查询
连接查询:
连接查询是将多张表进行记录的连接,ps:连接查询是用户在查看数据时,需要显示的数据来自多张表
例如:在学生表里面查询s1学生的信息
SELECT * FROM student s INNER JOIN
grade g ON g.`gradeId`=s.`gradeId`
WHERE g.`gradeName`='S1';
模糊查询:
模糊查询,比如网上商品搜索时,我们往往也记不清商品的全名,只记得个别字,此时就需要用到模糊查询了。
%:任意长度 :单个字符 []:在范围yct 内 [^]:除此以外
一般模糊查询sql语句如
select 字段 from 表名 where 列名
例如:1.在学生表里面查询姓张2.查询除北京以外的学生
SELECT * FROM student WHERE studentname LIKE '张%';
SELECT * FROM student WHERE address NOT LIKE'%北京%';