0
有人可以告诉我我做错了什么吗?SQL加入问题oracle 11g
问题:
创建名字和姓氏的唯一列表的人S.
住在雅法4389露台上ERD:
什么我试过:
SQL> SELECT MORTAL.FIRST_NAME, MORTAL.LAST_NAME
2 FROM MORTAL
3 LEFT JOIN MORTAL_ADDRESS ON MORTAL.MORTAL_ID = MORTAL_ADDRESS.MORTAL_ID
4 LEFT JOIN ADDRESS ON MORTAL_ADDRESS.ADDRESS_ID = ADDRESS.ADDRESS_ID
5 WHERE ADDRESS.ADDRESS_LINE1 LIKE '4389%';
no rows selected
我不太喜欢'LIKE'运算符,我宁愿使用'='来代替。
SQL> SELECT MORTAL.FIRST_NAME, MORTAL.LAST_NAME
2 FROM MORTAL
3 LEFT JOIN MORTAL_ADDRESS ON MORTAL.MORTAL_ID = MORTAL_ADDRESS.MORTAL_ID
4 LEFT JOIN ADDRESS ON MORTAL_ADDRESS.ADDRESS_ID = ADDRESS.ADDRESS_ID
5 WHERE ADDRESS.ADDRESS_LINE1 = '4389%';
no rows selected
SQL> SELECT MORTAL.FIRST_NAME, MORTAL.LAST_NAME
2 FROM MORTAL
3 LEFT OUTER JOIN MORTAL_ADDRESS ON MORTAL.MORTAL_ID = MORTAL_ADDRESS.MORTAL_ID
4 LEFT OUTER JOIN ADDRESS ON MORTAL_ADDRESS.ADDRESS_ID = ADDRESS.ADDRESS_ID
5 WHERE ADDRESS.ADDRESS_LINE1 = '4389%';
no rows selected
我知道它在什么地方加入,但是这似乎是一个简单的左加入,因为这个我见过,在w3schools.com:
伊夫运行几个查询测试数据:
SQL> select address_line1 from address
2 where upper(substr(address_line1, 5,1)) = 'J';
no rows selected
SQL> select address_line1 from address
2 where address_line1 like '4389%';
ADDRESS_LINE1
-------------------------------------------------------
4389 JAFFA Terrace S.
4389 Jaffa Terrace S.
有没有办法做到这一点,我还没有看到,没有使用“喜欢”?
(请回答一个答案,而不是评论,所以我可以上剔你,谢谢!)
我仍然得到“没有选择的行”。 –
@BrianWilson您确定该列有数据吗? – Mihai
是的,数据在该列: 4389 JAFFA Terrace S. 4389 Jaffa Terrace S. @Mihai –