首页 > 数据库 >SQL语句_基本语句

SQL语句_基本语句

时间:2023-06-17 14:11:21浏览次数:30  
标签:语句 基本 name 表中 2000 SQL WHERE SELECT

  为了更好的学习SQL语句,我们先来设定几张表格:

  Store_Info表:

store_name sales Date
A 500 01-01-2000
B 200 02-01-2000
A 1500 02-10-2000
D 1000 03-08-2000

  Country_Info表:

English_name China_name
Amercia 美国
China 中国
Japan 日本
Armenia 亚美尼亚

 

  SELECT  一个最常用的方式是将资料从数据库中的表格内选出。即 SELECT "表中参数名" FROM “表格名”。比如,我们要查Store_Info表中的商品名称store_name,SQL语句就可以这样写 SELECT store_name FROM Store_Info; 结果就能得到

store_name
A
B
A
D

我们从结果发现,查到的商品名称中出现了重复的商品,而我们可能只需要查所有不同的商品名称,我们只要把上面的结果做去重就行了。怎么做呢?很简单,只要在原先的SQL语句中加入DISTINCT就可以了。即 SELECT DISTINCT "表中参数名" FROM “表格名”。SQL语句我们这样写 SELECT DISTINCT tore_name FROM Store_Info;

store_name
A
B
D

很多时候,我们并不是要查出表格内全部的商品名称,而是想查某一个商品或某一范围内的商品,那么这时就需要用到WHERE这个指令。即 SELECT "表中参数名" FROM “表格名” WHERE "条件"。SELECT store_name FROM Store_Info WHERE Sales > 1000; 结果就能得到

store_name
A
D

从上面的SQL语句看到WHERE 后面只写了一个条件,那么WHERE后面可以是两个条件或者多个条件吗?答案是肯定的,我们只要在一个条件后 加上 AND(或 OR) 就可以再加上一个条件。即 SELECT "表中参数名" FROM “表格名” WHERE "条件1"  AND(或 OR) "条件2"。我们来试试查价格在1000以内,且时间是“02-01-2000”的商品  SELECT store_name FROM Store_Info WHERE Date = "02-01-2000" and Sales < 1000; 结果就能得到

store_name
B

上面我们都是知道了价格范围或具体时间,来查商品名称的。那么当我们知道了几个商品名称,怎么来查这些商品的信息呢?这时我们就可以用到 IN (在...里)。即 SELECT "表中参数名" FROM “表格名” WHERE  "表中参数名" IN ('值1', '值2', ...)。我们来查下商品A、商品B的信息,要求是2000年2月份的。SELECT * FROM Store_Info WHERE store_name IN ('A', 'B') AND Date BETWEEN '02-01-2000' AND '02-29-2000'; 结果就能得到

store_name sales Date
B 200 02-01-2000
A 1500 02-10-2000

在使用 IN 的条件,我们查到想要的结果,同时会发现,我们在SQL语句中使用了 BETWEEN '02-01-2000' AND '02-29-2000' 这样的条件,表示在02-01-2000到02-29-2000之间的所有时间。这也是在数据查询里面常用的一个查询条件。即 SELECT  "表中参数名" FROM “表格名” WHERE "表中参数名" BETWEEN '值1' AND '值2'。

上面我们在查询的时候,条件基本上都是很明确的。那么如果我们不清楚具体的查询条件,而是只知道某个关键词,我们可以用SQL查想到的数据信息吗? 答案也是可以的。这就需要用到LIKE(像...)。即 SELECT  "表中参数名" FROM “表格名” WHERE "表中参数名" LIKE {套式}。例如:查亚美尼亚的英文,我们只知道好像单词中有“men”。那我SQL语句就可以这样写  SELECT English_name From Country_Info WHERE English_name LIKE "%men%"; 结果就可以得到

English_name
Armenia

LIKE 后的 {套式} 有这样的集中写法:

1)‘A_Z’  表示所有以A起头,且以Z结尾的字符串。如:'ABZ'、 'A到Z'、'ASDSDSADWEWQEQZ'等。

2)'ACD%'  表示所有以ACD起头的字符串。

3)'%XYZ'  表示所有以XYA结尾的字符串。

4)'%EFG%'  表示所有包含EFG的字符串。

 

到目前为止,我们就能简单的使用SQL语句查到我们想要的数据了,但工作中我们使用SQL语句查询的数据比较多,而且比较乱,如果能简单的排个顺序就好了。这时ORDER BY 语法就出现了,它可以让查出的结果数据 ASC 顺序排列,也可以DESC 倒序排列。即

SELECT "表中参数名" FROM “表格名” ORDER BY "表中参数名" DESC。如要查商品价格,且按倒序排列。SQL语句就可以这样写了   SELECT sales FROM Store_Info ORDER BY  sales DESC; 结果可以得到

store_name sales
A 1500
D 1000
A 500
B 200

 

标签:语句,基本,name,表中,2000,SQL,WHERE,SELECT
From: https://www.cnblogs.com/xiaocai84/p/17487029.html

相关文章

  • mysql常用语
    给某个字段添加另一个字段的值UPDATEproduct_noticeSETtitle=CONCAT(product_name)where(ISNULL(title)=1orLENGTH(trim(title))=0); 如果需要赋值拼接使用空格进行分隔UPDATEproduct_noticeSETtitle=CONCAT(product_name,'',content)where(ISNULL(title)=1......
  • Docker 安装 MySQL8 数据库
    创建数据卷mkdir-p/usr/mysql/conf/usr/mysql/datachmod-R755/usr/mysql/创建配置文件vim/usr/mysql/conf/my.cnf:[client]#socket=/usr/mysql/mysqld.sockdefault-character-set=utf8mb4[mysqld]#pid-file=/var/run/mysqld/mysqld.pid#socket......
  • PostgreSQL 已领先于 MySQL 成为开发人员的首选
    一项针对90,000名开发人员的调查显示,PostgreSQL领先于MySQL作为数据库引擎的选择,与去年的同一项调查相比有显着变化。2023年5月的调查由开发人员问答网站StackOverflow进行,有45.55%的受访者使用PostgreSQL,而MySQL和SQLite分别为41.09%和30.9%。三年前,同一......
  • pybind11基本用法
    1、头文件和命名空间约定#include<pybind11/pybind11.h>namespacepy=pybind11;2、函数绑定`PYBIND11_MODULE`会创建一个函数,它在Python中使用`import`语句时被调用。宏的第一个参数是模块名(example),不使用引号包住;第二个参数是类型为`py::module_`的变量(m),它是创建绑定的......
  • mysql 8.0安装手册&密码修改
     MySql安装&修改密码 一.        安装mysql https://www.mysql.com/  单击“DOWNLOADS”  页面底部单击“MySQLCommunityServer”连接跳到如下连接的页面https://dev.mysql.com/downloads/mysql/  单击“Nothanks,juststartmydow......
  • [极客大挑战2019]EasySQL** 1
    [极客大挑战2019]EasySQL**1得到flag。万能密码"or"a"="a')or('a'='aor1=1--'or1=1--a'or'1=1--"or1=1--'or'a'='a"or"="a'='a'or''=......
  • oracle与MySQL数据库之间数据同步的技术要点
    1,需求描述某ORCALE11生产数据库(下称源数据库),内含近万个表,需要从中每日同步几十个表的数据到mySQL5.7数据库(下称目标数据库)中,供第三方使用。需要对生产数据库影响越小越好。2,技术挑战数据类型不完全一致。从Oracle中导出的建表语句到MySQL数据库中不一定能运行,因为二者的数据......
  • 从0到1打开数据库管理【MySQL】
    小时候玩积木的时候,根据图纸将一块块积木拼成图纸上的模样,随着我们的拼装越发熟练,甚至可以自己创作一个图形。 在数据爆炸时代,数据就像一块块散落的积木,学好数据库管理系统,就可以把数据很好的管理起来,方便我们存取数据。接下来我们来学习数据库的知识~一.认识MySQL 数据库(D......
  • coe_xfr_sql_profile脚本固定执行计划
    createtabletasselect*fromscott.emp;selectename,empnofromtwhereempno=7788;ENAMEEMPNO------------------------------SCOTT7788SQL>select*fromtable(dbms_xplan.display_cursor(null,null,'......
  • MySQL-Xenon高可用
    在MySQL5.5及以下传统复制的时代,MHA在MySQL高可用应用中非常成熟,在MySQL5.6的GTID时代开启以后,MHA却没有与新的MySQL一起顺应潮流,MHA最近一次发版是2018年。于是RadonDB开发团队研发并开源新一代MySQL集群高可用工具。基于Raft协议进行无中心化选主,实现主从秒级切换;基于semi-sync......