MySQL基本命令
我只是MySQL的新手,我想为居住在印第安纳州、俄亥俄州、密歇根州和伊利诺伊州且名称以字母a或B开头的客户编写一个SELECT语句,返回客户ID和客户名称(按字母顺序) 以下是使用描述客户TBL的客户TBL结构MySQL基本命令,mysql,sql,Mysql,Sql,我只是MySQL的新手,我想为居住在印第安纳州、俄亥俄州、密歇根州和伊利诺伊州且名称以字母a或B开头的客户编写一个SELECT语句,返回客户ID和客户名称(按字母顺序) 以下是使用描述客户TBL的客户TBL结构 Name Null? Type ------------------------------------------------------------- CUST_ID
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)
这是我的解决方案。我只需要知道我是否正确。谢谢
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
您的
CUST\u STATE
是一个CHAR(2)
列,因此我假设它包含状态代码,而不是状态名称。因此,您应该使用州代码,而不是印第安纳州、俄亥俄州等州:
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
如果状态代码错误,请更正它们。您的查询中有几处错误:
- 你应该首先尝试一下,而不仅仅是问它对不对
- 在
语句中嵌套条件时,不要重复WHERE-itslefWHERE
- 您应该提及您试图与条件匹配的列
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
“Where”子句完全错误,查询很简单,请学习语法。我只是想让你从这里学习。这比给你答案要好。。。如果你需要了解w3schools.com本身,你需要到这里来:首先,你要弄清楚你的基本知识,你错过了在后面写列名的机会where@deadrunk:我注意到了打字错误(如果你指的是这个)并修复了它。是的,我说的是第一个
类似的表达式
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