首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL基本命令

问MySQL基本命令
EN

Stack Overflow用户
提问于 2012-04-09 19:54:50
回答 3查看 168关注 0票数 0

我只是MySQL的初学者,我想编写一条SELECT语句,为居住在印第安纳州、俄亥俄州、密歇根州和伊利诺伊州、姓名以字母A或B开头的客户返回客户in和客户名称(按字母顺序)。

下面是使用DESCRIBE CUSTOMER_TBL的CUSTOMER_TBL结构;

代码语言:javascript
复制
    Name                         Null?                      Type
    -------------------------------------------------------------
   CUST_ID                      NOT NULL                   VARCHAR2(10)
   CUST_NAME                    NOT NULL                   VARCHAR2(30)
   CUST_ADDRESS                 NOT NULL                   VARCHAR2(20)
   CUST_CITY                    NOT NULL                   VARCHAR2(12)
   CUST_STATE                   NOT NULL                   CHAR(2)
   CUST_ZIP                     NOT NULL                   CHAR2(5)
   CUST_PHONE                                              NUMBER(10)
   CUST_FAX                                                NUMBER(10)

这是我的解决方案。我只需要知道我是否正确。谢谢

代码语言:javascript
复制
   SELECT CUST_ID,CUST_NAME FROM CUSTOMER_TBL
   WHERE IN('Indiana','Ohio','Ohio','Michigan','Illinois') AND WHERE LIKE(A% OR B%)
   ORDER BY CUST_ID,CUST_NAME
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-09 19:58:19

您的CUST_STATE是一个CHAR(2)列,因此我假定它包含州代码,而不是州名称。因此,您应该使用州代码,而不是印第安纳州、俄亥俄州等:

代码语言:javascript
复制
SELECT CUST_ID, CUST_NAME
FROM CUSTOMER_TBL
WHERE CUST_STATE IN ('IN','OH','MI','IL') AND (
    CUST_NAME LIKE 'A%' OR
    CUST_NAME LIKE 'B%'
)
ORDER BY CUST_NAME

更正状态代码,以防它们出错。

票数 0
EN

Stack Overflow用户

发布于 2012-04-09 19:57:26

代码语言:javascript
复制
SELECT CUST_ID,CUST_NAME FROM CUSTOMER_TBL
WHERE CUST_STATE IN('Indiana','Ohio','Ohio','Michigan','Illinois') AND (CUST_NAME LIKE 'A%' OR CUST_NAME LIKE 'B%') 
ORDER BY CUST_ID,CUST_NAME
票数 1
EN

Stack Overflow用户

发布于 2012-04-09 19:58:42

您的查询中有几个地方是错误的:

  • 您应该首先尝试一下,而不仅仅是询问它是否正确。
  • 在WHERE语句中嵌套条件时,不要重复where语句。
  • 您应该提到要尝试与条件匹配的列。

因此,您的查询应该如下所示:

代码语言:javascript
复制
SELECT CUST_ID, CUST_NAME 
FROM CUSTOMER_TBL
WHERE CUSTOMER_City IN('Indiana','Ohio','Ohio','Michigan','Illinois') 
    AND ( CUST_NAME LIKE 'A%' OR CUST_NAME LIKE 'B%' )
ORDER BY CUST_ID,CUST_NAME
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10072796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档