2011-10-05 4 views
1

ご迷惑をおかけして申し訳ありませんが、SQLに関する質問はたくさんありますが、私はテストのために修正するのに役立つ練習をしています。2文字の同じ名前を表示するSQLの支援。

名前に2つのLがあり、depno = 30またはsuperが "7782"であるすべての人の名前を表示しようとしています。私はそれのためのいくつかのコードを書いたが、それはエラーを与える。私はマネージャーに列名 "SUPER"を使用しました。

SELECT ENAME 
FROM  emp 
WHERE ENAME LIKE 'L%', DEPTNO = 30; 
OR  SUPER = '7782'; 

もう一度ありがとう! 答え、実際にする必要があります:

SELECT ENAME 
FROM  emp 
WHERE ENAME LIKE '%L%L%' AND DEPTNO = 30 
OR SUPER = '7782'; 

三行目の端が持つように想定されていないとして、ここで与えられた他のコードは私にエラーを与えるので、答えが見つかり

-Jay

セミコロン。

+1

2連続LsのようなLLama? LiLyのように、合計で2 Lsの名前? –

+0

@DoozerBlake - こんにちは、答えにLOLAまたはMILLERがある可能性があります。したがって、名前のどこにでも2つのLがあります – Jay

答えて

3

これはそれを行う必要があります。

SELECT ENAME 
FROM  emp 
WHERE ENAME LIKE '%L%L%', DEPTNO = 30; 
OR  SUPER = '7782'; 

はLIKE '%のL' は、インデックスの使用を妨げる可能性があることに注意してください。

+0

こんにちは、ありがとう=ありがとう – Jay

2

Select * from yourtable where name like '%L%L%' or depno = 30 or super = 7782

+0

2文字Lは2倍ではないと考えましたか? –

+0

それは具体的には「互いに隣り合う2つのL」です。 ''%L%L% ''は、任意の位置に2つのLをまったく許します。 – MatBailie

+0

あなたは正しいです、私はそれを修正しました。 –

関連する問題