博星卓越 网站开发方案,泉州市建设局网站公示,wordpress 图片目录,长乐市住房和城乡建设局网站一、基础查询
SELECT ... FROM ...
查询所需的列名写在 SELECT 关键字之后#xff0c;FROM 关键字指出从哪个表中查询数据。
查询多个列
要想从一个表中查询多个列#xff0c;仍然使用相同的 SELECT 语句。唯一的不同是必须在SELECT 关键字后给出多个列名#xff0c;列名…一、基础查询
SELECT ... FROM ...
查询所需的列名写在 SELECT 关键字之后FROM 关键字指出从哪个表中查询数据。
查询多个列
要想从一个表中查询多个列仍然使用相同的 SELECT 语句。唯一的不同是必须在SELECT 关键字后给出多个列名列名之间必须以逗号分隔。
查询所有列
除了指定所需的列外如上所述一个或多个列SELECT 语句还可以查询所有的列而不必逐个列出它们。在实际列名的位置使用星号*通配符。
查询结果去重
每个不同的值仅出现一次distinct 关键字加在去重字段前。
查询结果限制返回行数
在默认情况下SELECT 语句会返回指定表中所有匹配的行可以通过Limit语句限制返回结果行数。Limit语句一般加在SQL语句末尾并且与数字搭配写作Limit NN代表想要限制返回的行数。
查询后的列重命名
在默认情况下查询结果返回的列名会原始表中的列名一致SQL也提供了列重命名的语法--AS赋予列不同的名字以展示更多的信息
二、条件查询
单列排序
对SELECT语句检索出的数据进行排序可使用 ORDER BY 子句。 ORDER BY 子句取一个或多个列的名字据此对输出进行排序。默认为升序排序
多列排序
要按多个列排序简单指定列名列名之间用逗号分开即可在排序时会按照列给出的先后顺序依次排序。
升序降序
在默认情况下ORDER BY会对数据进行升序排序从 A 到Z我们还可以使用 ORDER BY 子句进行降序从 Z 到 A排 序。为了进行降序排序 必须指定 DESC 关键字。在order by最后加上desc结果进行降序排序 。 多列排序的降序 DESC关键字只应用到直接位于其前面的列名。也就是说如果我们SQL语句写的是 Order By age desc, gpa那么排序将首先按照age降序排序序再按照gpa升序排序输出。 三、基础操作符
数据库中一般着包含大量的数据大多数场景下我们只需要检索满足特定条件的数据。
where语句
在SQL语法中可以使用WHERE语句对数据进行过滤WHERE语句通常跟在From语句后
Select device_id From user_profile Where gender male
Where语句需要和操作符搭配使用选择合适的操作符可以大大提高查询的效率下面对常见的操作符进行一些介绍。
不等于号
不等于号在SQL中的写法为 或 代表筛选出不满足某条件的数据。
大于号小于号
大于号SQL中的写法为 小于号为 代表筛选出大于或小于某个条件的数据。
范围值
范围值限制方法为 between n1 and n2 n1 和 n2 为要限制的区间范围使用中需要注意两点
一是 and 之前的值 需要 小于 and 之后的值不然查询会返回空结果。二是在 hive sql 中结果会包括两端值。
空值
在表存储的数据类型中有一类特殊的值叫空值其定义为当一个字段不包括任何值时称其包含空值 NULL空值与字段包含 0、空字符串或仅仅包含空格是不同的概念。
在对空值进行筛选时不能用等于号简单的判断是否 ‘ NULL’。SQL 语句有一个特殊的 WHERE 子句可用来检查具有 NULL 值的列。这个 WHERE 子句就 是 IS NULL 子句。
Select device_id,gender,age From user_profile Where gender is Null
这条语句可以返回表中所有性别列值为空的用户数据同样如果我们想要剔除空值数据的话也需要用一个特殊的WHERE子句IS NOT NULL。
Select device_id,gender,age From user_profile Where gender is Not Null
四、高级操作符
为了进行更强的过滤控制SQL 允许给出多个 WHERE 子句这些子句有两种使用方式以 AND 子句或 OR 子句的方式使用。
AND操作符
在过滤数据时如果我们想结果同时满足多个条件可以使用 AND 操作符给 WHERE子句附加条件
Select device_id,age From user_profile Where age 30 and gender male
OR操作符
OR 操作符逻辑与 AND 操作符正好相反在过滤数据时如果我们想要结果只需满足多个条件中的一个可以使用OR操作符对条件进行连接
Select device_id,gender,age From user_profile Where university 山东大学 or university 复旦大学
IN 和 Not IN
IN 操作符用来指定条件范围范围中的每个条件都可以进行匹配。IN 取 一组由逗号分隔、括在圆括号中的合法值。 下面的例子说明了这个操作符
Select device_id,gender,age,universitygpa From user_profileWhere university in (北京大学,复旦大学)
WHERE 子句中的 NOT 操作符有且只有一个功能那就是否定其后所跟的任何条件。
所以 NOT 和 IN 一起使用等价于不等于括号中的条件。
操作符混合运用
WHERE 子句可以包含任意数目的 AND 和 OR 操作符允许两者结合以进行复杂、高级的过滤。在使用时需要注意的一点是两者优先级的问题 SQL在处理OR操作符前优先处理 AND 操作符。
Select device_id,gender,age,universitygpa From user_profile Where university 北京大学 or gpa3.5 and university 山东大学 代码中Where函数限定条件正确的理解逻辑为筛选出学校为北京大学或山东大学中gpa大于3.5的学生SQL是先对and逻辑进行了理解再处理or的逻辑。一般在使用中为防止表达错误可以采取括号的形式把想要一起判断的逻辑放在同一个括号中。
Select device_id,gender,age,universitygpa From user_profile Where university 北京大学 or (gpa3.5 and university 山东大学)
Like操作符——模糊匹配
在实际运用中有时我们会需要进行模糊匹配这时就可以用到Like操作符。
Like操作符需要和通配符结合使用一般最常用的通配符是 % 在搜索串中%表示任何字符出现任意次数。例如为了找出所有学校中以北京开头的用户可发布以下 SELECT 语句
Select device_id,gender,age,universitygpaFrom user_profileWhere university like 北京%
在执行这条语句时将检索任意以北京起头的词 %表示“北京”之后多少字符都可以。只要是以北京开头就会被检索到。
通配符可在搜索模式中的任意位置使用并且可以使用多个通配符。